我正在使用Django JET构建一个应用程序,它实际上是Django管理站点上的一个皮肤。我需要为相关模型中的字段启用批更新。所以最终我的问题是我该怎么做?你知道吗
举例来说,我有两个模型:
from django.db import models
class Foo(models.Model):
name = models.CharField(max_length=255)
class Bar(models.Model):
CHOICES = (
('A', 'BEST'),
('B', 'GOOD'),
('C', 'WORST'),
)
name = models.CharField(max_length=255)
quality = models.CharField(max_length=1, choices=CHOICES)
foo = models.ForeignKey(Foo, on_delete=models.DO_NOTHING)
我还有一个管理父模型和一个内联的相关模型:
from django.contrib import admin
from admin_example import models
class BarInline(admin.StackedInline):
model = models.Bar
@admin.register(models.Foo)
class FooAdmin(admin.ModelAdmin):
inlines = (BarInline,)
我希望能够批量更新与当前Foo
实例相关的所有Bar
实例的quality
。用户还必须能够分别编辑每个quality
的Bar
。我的想法是将<select>
下拉框添加到BarInline
。我已经着手为BarInline
编写自己的模板。我该如何处理这个问题?你知道吗
假设您想要
bulk_update
所有bar
的实例,这些实例与foo
的特定实例具有相同的值quality
。你知道吗对于这种情况,更好的方法是将
quality
属性移动到Foo
模型。因此,bar
的每个实例对于foo
的特定实例可以访问quality
的相同值。你知道吗如果通过admin更新每个
bar
实例,那么使用相同的quality
值会重复太多的工作。你知道吗如果您想添加一个UI特性,那么您可能想看看^{} attribute for an ^{}
此模板负责呈现将要显示的所有}
Bar
对象集。您可能想看看默认的template for ^{相关问题 更多 >
编程相关推荐