使用 to_field 选项建立外键时出现 AttributeError
AttributeError when establishing a foreign key using the to_field option
我正在尝试在具有特定字段的两个模型之间建立外键关系。
建立与 ID 字段的关系工作正常,但是当我使用 to_field
选项时出现错误:
AttributeError: type object 'WorldEaseConsignee' has no attribute 'order_number'
示例代码:
class WorldEaseConsignee(models.Model):
order_number = models.IntegerField(
null=False,
blank=False,
default=0,
)
class WorldEaseInvoice(models.Model):
order_number_id = models.ForeignKey(
WorldEaseConsignee,
to_field=WorldEaseConsignee.order_number,
)
来自文档:
The field on the related object that the relation is to. By default, Django uses the primary key of the related object.
众所周知,PK是独一无二的。尝试在 WorldEaseConsignee
模型中将 order_number
设置为 unique
:
class WorldEaseConsignee(models.Model):
order_number = models.IntegerField(
null=False,
blank=False,
unique=True
)
此外,设置 to_field
值如下:
class WorldEaseInvoice(models.Model):
order_number_id = models.ForeignKey(
WorldEaseConsignee,
to_field='order_number',
)
我正在尝试在具有特定字段的两个模型之间建立外键关系。
建立与 ID 字段的关系工作正常,但是当我使用 to_field
选项时出现错误:
AttributeError: type object 'WorldEaseConsignee' has no attribute 'order_number'
示例代码:
class WorldEaseConsignee(models.Model):
order_number = models.IntegerField(
null=False,
blank=False,
default=0,
)
class WorldEaseInvoice(models.Model):
order_number_id = models.ForeignKey(
WorldEaseConsignee,
to_field=WorldEaseConsignee.order_number,
)
来自文档:
The field on the related object that the relation is to. By default, Django uses the primary key of the related object.
众所周知,PK是独一无二的。尝试在 WorldEaseConsignee
模型中将 order_number
设置为 unique
:
class WorldEaseConsignee(models.Model):
order_number = models.IntegerField(
null=False,
blank=False,
unique=True
)
此外,设置 to_field
值如下:
class WorldEaseInvoice(models.Model):
order_number_id = models.ForeignKey(
WorldEaseConsignee,
to_field='order_number',
)