Django创建和更新视图:外键字段

时间:2018-05-29 09:28:14

标签: django constraints django-generic-views generic-foreign-key

假设我有以下两个类:

parcel

我正在使用Django的通用视图来创建和更新新床。由于get_initial(self)是外键,Django会自动创建一个包含数据库中所有现有宗地的选择输入。但是,我想告诉Django只将parcels与某个garden_id放在一起。 我查看了函数Author,但我不想指定宗地的初始值,只是缩小宗地的选择范围。

如果有人有想法,那对我有很大帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey.limit_choices_to

示例:

staff_member = models.ForeignKey(
    User,
    on_delete=models.CASCADE,
    limit_choices_to={'is_staff': True},
)

在你的情况下可以使用:

limit_choices_to={'garden_id__in': ['list', 'of', 'valid', 'ids']}

来源: How do I restrict foreign keys choices to related objects only in django