[当我尝试创建评论表时,出现以下错误消息。终端中提到了models.py和错误消息。
models.py
class reviews(models.Model):
reviewee = models.ForeignKey('Person', on_delete=models.CASCADE)
reviewer = models.ForeignKey('Person', on_delete=models.CASCADE)
review = models.TextField()
rating = models.FloatField()
class Person(models.Model):
email = models.CharField(max_length=30)
pwd = models.CharField(max_length=30)
type = models.CharField(max_length=30)
终端输出
SystemCheckError: System check identified some issues:
ERRORS:
pfapp.reviews.reviewee: (fields.E304) Reverse accessor for 'reviews.reviewee' clashes with reverse accessor for 'reviews.reviewer'.
HINT: Add or change a related_name argument to the definition for 'reviews.reviewee' or 'reviews.reviewer'.
pfapp.reviews.reviewer: (fields.E304) Reverse accessor for 'reviews.reviewer' clashes with reverse accessor for 'reviews.reviewee'.
HINT: Add or change a related_name argument to the definition for 'reviews.reviewer' or 'reviews.reviewee'.
System check identified 2 issues (0 silenced).
我的模型背后的逻辑是,一个人可以查看另一个人。同样,当从表中删除审阅者或受审者时,也应删除该审阅。
我希望你有我的主意。
您可以先进行迁移,然后迁移:
reviewee = models.ForeignKey('Person', on_delete=models.CASCADE)
reviewer = models.ForeignKey('Person', on_delete=models.CASCADE, related_name="reviewer", null=True)
现在,相反,您可以从默认情况下的person.reviews
中获取被审阅者。并且,从person.reviewer
获取reviewer。请查看此SO question以进一步了解。