使用 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',
        )