我在 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
在它需要一个布尔值而不是整数时显示一个复选框,尽管它是一个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,)
...