4

我在工作Django 2.0

我有一个模型Note来保存笔记和另外两个模型来为笔记添加颜色标签。

class Note(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=250, blank=True, default='Untitled')
    content = models.TextField(blank=True)

class ColorLabels(models.Model):
    title = models.CharField(max_length=100, unique=True)
    value = models.CharField(max_length=100)
    default = models.BooleanField(default=False)

class NoteLabel(models.Model):
    note = models.OneToOneField(Note, on_delete=models.CASCADE)
    color_label = models.OneToOneField(ColorLabels, on_delete=models.CASCADE)

Note

note = Note.objects.get(pk=1)

我想访问关联ColorLabelstitlevalue字段或NoteLabel对象。

因为它们是一对一的字段。我试着做

note.note_label
note.NoteLabel
note.note_label_set

但所有返回错误为

AttributeError: 'Note' object has no attribute 'note_label_set'
4

1 回答 1

4

除非您related_name在 中定义,否则OneToOneFieldDjango 将使用小写的模型名称来访问相关对象。所以,note.notelabel应该工作。

于 2017-12-24T19:49:36.573 回答