创建用于审查的 Django 模型给出了这个消息
creating django model for review gives this msg
当我尝试创建评论时 table,我收到以下错误消息。终端中的 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).
我的模型背后的逻辑是一个人可以评论另一个人。此外,当评论者或被评论者从 table 中删除时,评论也应被删除。
希望你能理解我的想法。
你可以做然后迁移:
reviewee = models.ForeignKey('Person', on_delete=models.CASCADE)
reviewer = models.ForeignKey('Person', on_delete=models.CASCADE, related_name="reviewer", null=True)
现在,在默认情况下,您可以从 person.reviews
获得 reviewee。并且,从 person.reviewer
获得 审稿人 。看看这个 SO question 以获得更好的理解。
当我尝试创建评论时 table,我收到以下错误消息。终端中的 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).
我的模型背后的逻辑是一个人可以评论另一个人。此外,当评论者或被评论者从 table 中删除时,评论也应被删除。
希望你能理解我的想法。
你可以做然后迁移:
reviewee = models.ForeignKey('Person', on_delete=models.CASCADE)
reviewer = models.ForeignKey('Person', on_delete=models.CASCADE, related_name="reviewer", null=True)
现在,在默认情况下,您可以从 person.reviews
获得 reviewee。并且,从 person.reviewer
获得 审稿人 。看看这个 SO question 以获得更好的理解。