使用以下Django模型:
class Author(models.Model):
name = models.CharField(max_length=30)
bestbookaccordingtome=models.????(Author,null=True, blank=True, default = None)
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.OnetoOneField(Author)
我希望每本书都有一个作者(仅限)的经典关系。
但我也希望能够为作者分配一本精选的书(例如我最喜欢的作者之书)。
我试了一把外键,但是django不喜欢它。 任何python干净的方式来做它?
答案 0 :(得分:0)
您需要的是ManyToManyField。
class Author(models.Model):
name = models.CharField(max_length=30)
bestbookaccordingtome = models.ManyToManyField('self', symmetrical=False, related_name='best_book_according_to_me')
此外,如果您需要在n-m模型中指定额外字段,则可以使用through来指明模型的名称。
希望它有所帮助!