장고 데이터베이스 관계를 처리하는 방법에 대한 더 나은 처리를 시도합니다. 의견을 보내 주시면 감사하겠습니다.장고 모델 ManyToMany 및 외래 키
고려하여 다음 예 모델 : syncdb
에서
class Things(models.Model):
name = models.CharField(max_length=20)
class Stuff(models.Model):
name = models.CharField(max_length=20)
information = models.ManyToManyField('Information')
things = models.ForeignKey('Things')
class Information(models.Model):
name = models.CharField(max_length=20)
stuff = models.ForeignKey('Stuff')
오류 결과 : AttributeError: 'ManyToManyField' object has no attribute 'ForeignKey'
. 을ManyToManyField
및 필드를 Stuff
모델에 포함하면 오류가 발생합니다.
이러한 관계가 모두 존재할 수있는 방법이 있습니까? 어떤 아이디어 주셔서 감사합니다. 아마 당신이 가야에 충분하다
Error: One or more models did not validate:
foo.stuff: Reverse query name for m2m field 'information' clashes with field 'Information.stuff'. Add a related_name argument to the definition for 'information'.
foo.information: Reverse query name for field 'stuff' clashes with m2m field 'Stuff.information'. Add a related_name argument to the definition for 'stuff'.
: 장고의
_Stuff_에는 _ManyToMany_wi가 있습니다. _ _ 정보 _ 있지만 _ManyToOne_있는 _Stuff_있는 _Information_. – Rohan
코드 샘플에서 정보와 항목 간의 관계가 일대 다 또는 다 대다가되는지 여부를 판단하는 것은 불가능합니다. – user240515
아이디어는 '물건'이 여러 개의 '정보'를 가질 수 있지만 '정보'는 한 가지 유형의 '물건'을 참조한다는 것입니다. 따라서 ManyToMany는 Stuff에서 Information으로, ForeignKey는 Information에서 Stuff으로 각각 변환됩니다. 그것은 내 머리에서 잘 작동하지만 Django에서는 그렇지 않습니다. 어떤 아이디어? –