首页 > 解决方案 > SystemCheckError:系统检查发现了一些问题:

问题描述

我正在建立一个项目来下订单。当我运行 makemigrations 命令时,它会给出一个错误

SystemCheckError:系统检查发现了一些问题,我已从迁移中删除了迁移文件

追溯:

order.Order.price:(fields.E304)“Order.price”的反向访问器与“Order.product”的反向访问器冲突。
  HINT: Add or change a related_name argument to the definition for 'Order.price' or 'Order.product'.

order.Order.product:(fields.E304)“Order.product”的反向访问器与“Order.price”的反向访问器冲突。

    HINT: Add or change a related_name argument to the definition for 'Order.product' or 'Order.price'.

models.py的如下:

class Order(models.Model):
    company = models.ForeignKey(Company, on_delete=models.CASCADE)
    product = models.ForeignKey(Product, on_delete=models.CASCADE)
    price = models.ForeignKey(Product, on_delete=models.CASCADE)

    def __str__(self):
        return self.company + self.product + self.price

标签: python-3.xdjango

解决方案


您的两个外键都引用相同的模型Product而不定义不同的相关名称:

product = models.ForeignKey(Product, on_delete=models.CASCADE)

price = models.ForeignKey(Product, on_delete=models.CASCADE)

如果这不是错误,那么只需添加不同的相关名称


推荐阅读