我有一个相当简单的问题,我可以通过执行查询动态获取CHOICES
来实现,但我想知道在Django中是否有更多“本地”方式来执行此操作;
假设这个;
class Item(models.Model):
name = name = models.CharField(max_length = 75)
sub_category = models.ForeignKey('ItemSubcategory')
这将是层次结构的一个例子;
这个逻辑没问题,但对于某些其他模型我想这样使用它;
class Item(models.Model):
name = name = models.CharField(max_length = 75)
sub_category = models.ForeignKey('ItemSubcategory', limit_to=('ItemCategory', 'Food'))
所以它会限制我用来仅显示食物子类别而不是其他类别下的所有其他子类别的下拉/过滤器。
答案 0 :(得分:1)
您可以使用limit_choices_to
参数:https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey.limit_choices_to
class Item(models.Model):
name = name = models.CharField(max_length = 75)
sub_category = models.ForeignKey(
'ItemSubcategory',
limit_choices_to={'ItemCategory': 'Food'}
)
只是为了给你一个基本的想法。