我有一个名为“Product”的类模型,它具有以下属性: ID、number 和type。
class Product(models.Model):
PRODUCT_TYPES = (
('CW', 'Casement Window'),
('BA', 'Bunny Advance'),
('EW', 'Enterprise Wadoo'),
('T3', 'Type 3')
)
number = models.CharField(max_length=50)
type = models.CharField(max_length = 2 , choices=PRODUCT_TYPES)
我有一个名为“Project”的类模型,它具有以下属性:ID、编号和 product_id 指向“Product”的链接。
class Project(models.Model):
number = models.CharField(max_length=50)
product = models.ForeignKey(Product)
这就是它变得棘手的地方:我使用清晰的表单和自动完成来显示和编辑值。自动完成基于项目模型的值。因此,为了显示和编辑产品的类型专有性,我需要在我的项目模型中添加专有类型。
问题:
是否可以将 models.ForeignKey 用于普通字段?如 :
type = models.ForeignKey(Product,related_name='type')
我尝试使用循环迭代每个产品并比较 ID,但我收到以下消息:“ 'ModelBase' 对象不可迭代”
def test(id_product): for p in Product: if p.number == id_product: return p.type
编辑:我只需要能够以任何可能的方式访问项目中的产品类型。