【发布时间】:2016-05-04 12:33:03
【问题描述】:
我在 Django 中有一些这样的模型:
class Object(models.Model):
...
class ObjectFeatures(models.Model):
class Meta:
unique_together = (('object', 'feature'),)
count = models.PositiveSmallIntegerField()
object = models.ForeignKey(...)
feature = models.ForeignKey(...)
class Feature(models.Model):
is_number = models.BooleanField()
...
我有一个对象,在这个对象中有一个在管理面板中带有ObjectFeature 的内联表单。您可以在此处从功能中选择要添加的功能,以及该功能的可用数量。
is_number 定义该功能是否需要一个数字,或者如果为 false,则需要一个布尔值(计数为 0 或 1)。
当TabularInline 需要一个布尔值而不是一个整数时,是否有在TabularInline 中显示一个复选框,尽管它是一个IntegerField?
另一种可能性是在object_features 中定义一个布尔值和一个整数字段。根据is_number 中的值,我是否可以只显示其中一个?
在 admin.py 中:
class ObjectFeatureInline(admin.TabularInline):
model = ObjectFeature
can_delete = True
verbose_name_plural = 'Object features'
class ObjectAdmin(admin.ModelAdmin):
inlines = (ObjectFeatureInline,)
...
【问题讨论】:
标签: python django django-modeladmin modeladmin