Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Django的select_related中创建关系的别名_Django_Alias_Relation_Django Select Related - Fatal编程技术网

在Django的select_related中创建关系的别名

在Django的select_related中创建关系的别名,django,alias,relation,django-select-related,Django,Alias,Relation,Django Select Related,我有一个模型: Rubric(models.Model): name = models.CharField(max_length=255) Rubric有seo参数 class RubricSeo(models.Model): rubric = models.OneToOneField(Rubric) title = models.CharField(max_length=255) 要选择seo的标准,我必须使用: rubric = Rubric.objects.

我有一个模型:

Rubric(models.Model):
    name  = models.CharField(max_length=255)
Rubric有seo参数

class RubricSeo(models.Model):
    rubric = models.OneToOneField(Rubric)
    title  = models.CharField(max_length=255)
要选择seo的标准,我必须使用:

rubric = Rubric.objects.select_related('rubricseo',).get(id=rubric_id)
然后在模板中使用:

{{ rubric.rubricseo.title}}
但是我需要为这个关系创建一个别名
rubricseo
(我的意思是
LEFT JOIN rubricseo as seo…
),然后使用
{{rubric.seo.title}
。但是我不能将模型重命名为simple
Seo


有可能吗?
是否选择\u related
允许它?

声明如下关系:

rubric = models.OneToOneField(Rubric, related_name='seo')
然后,您可以通过以下方式访问相关模型:

{{ rubric.seo.title}}

您可以在模型定义中使用
related\u name

class RubricSeo(models.Model):
    rubric = models.OneToOneField(Rubric, related_name='seo')
    title  = models.CharField(max_length=255)
您仍然需要使用
选择\u related

rubric = Rubric.objects.select_related('seo').get(id=rubric_id)