如何从下拉列表更新管理中的状态

How to update status in Admin from a drop downlist

您好,我的订单模型中有一个状态,我可以在其中选择订单状态。

我希望能够从管理员的外部显示更新状态,而不是进入订单的详细视图。

这是models.py

class Order(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL,
                             on_delete=models.CASCADE)
    ref_code = models.CharField(max_length=20, blank=True, null=True)
    items = models.ManyToManyField(OrderItem)
    start_date = models.DateTimeField(auto_now_add=True)
    ordered_date = models.DateTimeField()
    ordered = models.BooleanField(default=False)
    status = models.CharField(max_length=50,
                              choices=[('pending', 'Pending'), ('ofd', 'Out For Delivery'), ('recieved', 'Recieved')],
                              default='pending')

这是admin.py

class OrderAdmin(admin.ModelAdmin):
    list_display = ['user', 'ordered', 'ordered_date', 'status','ref_code']

如果您的意思是您希望能够从列表页面更新状态,您可以在您的管理员 class

上设置 list_editable
class OrderAdmin(admin.ModelAdmin):
    list_editable = ['status']
    ...