照会したい 3 つのクラスがあります。データベースに仕事をさせたいと思います。User オブジェクトに対して単一のクエリを実行して、一致するすべての関連フィールドを取得することは可能でしょうか? コードで 3 つのテーブルを結合しないようにしています。コードでこれを行う場合、3 つのクラスすべてにクエリを実行し、一致を維持しながら重複を排除します。
Query: Get all users whose name contains "William", category is "Single" and alias is "Bill".
class ModelA(models.Model):
user = models.ForeignKey(User,related_name="%(class)s",null=False)
name = models.CharField(max_length=70)
def __unicode__(self):
return u'%s' % (self.name)
class ModelB(models.Model):
user = models.ForeignKey(User,related_name="%(class)s",null=False)
category = models.CharField(max_length=70)
def __unicode__(self):
return u'%s' % (self.category)
class ModelC(models.Model):
user = models.ForeignKey(User,related_name="%(class)s",null=False)
alias = models.CharField(max_length=70)
def __unicode__(self):
return u'%s' % (self.alias)
Note: this is an example only, and I am not looking to combine all the info in a single table.