django获取一对一字段的关联数据

时间:2017-12-24 17:16:07

标签: django django-models django-2.0

我在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)

我想访问关联的ColorLabels的{​​{1}}和title字段或value对象。

因为他们是一对一的领域。我试着做了

NoteLabel

但是所有返回错误都是

note.note_label
note.NoteLabel
note.note_label_set

1 个答案:

答案 0 :(得分:1)

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