Django ORM を使用して bd にクエリを実行しようとしていますが、助けが必要です。
モデル:
class Participant(models.Model):
username = models.CharField(max_length=20)
username.primary_key = True
#password = models.CharField(max_length=128)
work_place = models.CharField(max_length=50)
photo = models.FileField(upload_to='user_photo')
name = models.CharField(max_length=30)
country = models.CharField(max_length=20)
phone_number = models.IntegerField(max_length=9)
email = models.EmailField(unique = True)
qrcode = models.FileField(upload_to = 'qrcodes',null=True,blank=True)
contact = models.OneToOneField('Contact', related_name= 'participant_contact')
user = models.OneToOneField(User)
contacts = models.ManyToManyField('Contact', related_name='contact_list', null=True, blank=True)
def save( self, *args, **kw ):
self.username = self.user.username
c= Contact()
c.save()
self.contact = c
super( Participant, self ).save( *args, **kw )
def __unicode__(self):
return self.username
class Contact(models.Model):
id = models.AutoField(primary_key=True)
特定の参加者の連絡先であるすべての参加者を取得する必要があります
例:
Contact Table: | id |
|_______|
| 1 |
| 2 |
Participant Table: |username|...|participant_contact|
|_______ |___|___________________|
| test | | 1 |
| test2 | | 2 |
Contacts Relation: |id_Participant1|id_participant_2|
|_______________|________________|
| 1 | 2 |
> p1 = Participant.objects.get(username="test")
> p2 = Participant.objects.get(username="test2")
連絡先リストp2
も同様です。p1
django ORM でこのクエリを作成するにはどうすればよいですか?