【发布时间】:2015-08-21 18:53:44
【问题描述】:
我需要限制 Django Admin 表单中的选择,但无法提出解决方案。鉴于这些模型:
class ProductFamily(models.Model):
name = models.CharField(max_length=250)
default_product_to_display = models.OneToOneField('Product', limit_choices_to={'product_family': ??????})
# Enclosing Product reference in quotes is necessary since the Product declaration is below ProductFamily declaration
class Product(models.Model):
name = models.CharField(max_length=250)
image = models.ImageField(upload_to='images/',blank=True,null=True)
product_family = models.ForeignKey(ProductFamily)
应该在 ProductFamily 类的 ?????? 中放置什么?我已经尝试了所有我能想到的方法,包括名称、“名称”ProductFamily、“产品系列”、self、self.id。带有 self 的选项返回内部服务器错误。引用的选项返回:'int() 的无效文字'。当“name”不带引号使用时,它返回:
int() 参数必须是字符串或数字,而不是 'CharField'。
如果我输入一个硬编码的整数值来测试它,那么它工作正常,所以它显然在寻找一个整数价值。
我也尝试过,但没有成功,将两者都放置
id = models.AutoField(primary_key=True)
在 ?????? 的 id 声明中,以及定义一个返回 self.id 的函数,但这些都不起作用。
那么 - 我如何通过仅显示那些 product_family id 与当前 ProductFamily 匹配的产品来限制产品的选择?
【问题讨论】:
标签: django python-2.7 django-admin