[django]主次表如何取出对方数据

Posted iiiiiher

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[django]主次表如何取出对方数据相关的知识,希望对你有一定的参考价值。

class Country(models.Model):
    name = models.CharField(max_length=30)

    def __str__(self):
        return self.name


class City(models.Model):
    country = models.ForeignKey(Country, on_delete=models.CASCADE)
    name = models.CharField(max_length=30)

    def __str__(self):
        return self.name

子表创建数据

City.objects.create(name='xian', country_id=1)
City.objects.create(name='xian', country_instance)

从主表取出子表的数据

1.view中取出

c = Country.objects.get(id=1)
print(c.city_set.all())

跟related_name有关系: https://www.cnblogs.com/iiiiiher/p/9542094.html

2.模板中取出

https://docs.djangoproject.com/zh-hans/2.1/intro/tutorial03/

<h1>{{ question.question_text }}</h1>
<ul>
{% for choice in question.choice_set.all %}
    <li>{{ choice.choice_text }}</li>
{% endfor %}
</ul>

从次表取出主表的字段

City.objects.values('name','country__name')

以上是关于[django]主次表如何取出对方数据的主要内容,如果未能解决你的问题,请参考以下文章

ORM 多表操作

如何在 Django Summernote 中显示编程片段的代码块?

超实用的php代码片段

Django进阶-ORM框架的一般操作

thinkPHP两个表查询:从一个表里取出6条数据的id,再根据这些id去查另一个表里的数据

如何在 Django 中显式重置模板片段缓存?