django - Django 创建和更新视图:外键字段
问题描述
假设我有以下两个类:
class Parcel(models.Model):
name = models.CharField(max_length=NAME_MAX_LENGTH)
garden = models.ForeignKey(Garden, on_delete=models.CASCADE)
def __str__(self):
return self.name
class Bed(models.Model):
parcel = models.ForeignKey(Parcel, on_delete=models.CASCADE)
name = models.CharField(max_length=NAME_MAX_LENGTH)
length = models.IntegerField()
width = models.IntegerField()
我正在使用 Django 的通用视图来创建和更新新床。与parcel
外键一样,Django 使用数据库中的所有现有包裹自动创建一个选择输入。但是,我想告诉 Django 只放置具有特定 garden_id 的包裹。我查看了函数get_initial(self)
,但我不想为宗地指定初始值,只是缩小宗地的选择范围。
如果有人有想法,那将对我有很大帮助。
谢谢你。
解决方案
例子:
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']}
推荐阅读
- django - 我在哪里定义我想在我的 Django API 中接收的 Content-Type?
- c++ - Eigen ConditionType 数组:广播而不是循环的有效方式
- asp.net - 转发器更新面板中的下拉列表在回发后失去价值
- amazon-web-services - 多个 Restful Api 请求问题导致 nginx 服务器上的重复记录
- docker-compose - Docker Compose 常用 YAML 添加服务名变量
- azure - azure Blob MD5 checksum and local MD5 checksum not matching
- postgresql - Solr Dataimport 来自 PostgreSQL 的嵌套实体
- html - 从带有编码的文件夹中打开随机pdf文件(使用HTML主代码)
- c++ - 指向具有移动语义的成员函数的指针
- python - 正确构建和执行 .apk 文件