![](/img/trans.png)
[英]I have a OneToOne relationship between two objects of the same class in a Django app. Is it possible to enforce the uniqueness of this relationship?
[英]conflict between OneToMany and OneToOne relationship in Django
我需要定義一個會議模型,其中包括組織者和許多參與者。 所有參與者均來自身份驗證模塊中的標准用戶。
from django.db import models
from django.contrib.auth.models import User
class Meeting(models.Model):
organizer=models.ForeignKey(User)
participants=models.ManyToManyField(User)
但是,運行syncdb時,出現以下錯誤
錯誤:一個或多個模型未通過驗證:hub.meeting:字段“ organizer”的訪問者與相關的m2m字段“ User.meeting_set”沖突。 在'organizer'的定義中添加related_name參數。 hub.meeting:m2m字段“參與者”的訪問者與相關字段“ User.meeting_set”沖突。 在“參與者”的定義中添加一個related_name參數。
誰能幫我解決這個問題?
class Meeting(models.Model):
organizer=models.ForeignKey(User, related_name="meetings_orginizer")
participants=models.ManyToManyField(User, related_name="meetings_participants")
如果您有一個用戶對象,並且想要向后跟蹤該關系以查找該用戶是其組織者的 會議或該用戶是其參加者的會議,則需要在模型上專門命名一個“ related_name”字段以區別他們。 現在,您可以像下面這樣向后跟蹤關系:
me = User.objects.get(id=0)
# Meetings I'm organising
m1 = me.meetings_orginizer.all()
# Meetings I'm participating in
m2 = me.meetings_participants.all()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.