gpt4 book ai didi

python - 在django admin中使用代理模型自定义更改 ListView

转载 作者:行者123 更新时间:2023-12-01 05:13:11 28 4
gpt4 key购买 nike

我有一个如下所示的模型:

class Change(models.Model):
Reference = models.CharField(max_length=100)
Choices = ((1,"Pending"),(2,"In Progress",),(3,"Closed"))
Status = models.SmallIntegerField(choices=Choices, default=1, max_length=1)

由于无法注册另一个 Change 模型,因此我使用名为 ClosedChange 的代理模型,如下所示:

class ClosedChange(Change):
class Meta:
proxy = True
verbose_name = u"Closed Changes"

我想要实现的是,每当任何用户将更改状态更改为已关闭时,它应该从更改的更改 ListView 中消失并出现在更改 ClosedChange 的 ListView ,反之亦然。我怎样才能做到这一点?

最佳答案

您可以在模型管理中指定查询集:

class ChangeAdmin(admin.ModelAdmin):
def get_queryset(self, request):
return Change.objects.exclude(status='closed')

class ClosedChangeAdmin(admin.ModelAdmin):
def get_queryset(self, request):
return ClosedChange.objects.filter(status='closed')

admin.site.register(Change, ChangeAdmin)
admin.site.register(ClosedChange, ClosedChangeAdmin)

关于python - 在django admin中使用代理模型自定义更改 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23779250/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com