Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.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
Python 如何获取特定国家的城市列表?_Python_Mysql_Django - Fatal编程技术网

Python 如何获取特定国家的城市列表?

Python 如何获取特定国家的城市列表?,python,mysql,django,Python,Mysql,Django,我试图显示某个国家的城市名称{{{city}。 例如,如果我单击“美国”,它将显示我数据库中的城市列表。 但我不知道如何正确过滤 我试过了,但什么也没发现 Post.objects.filter(country='country').filter(city='city') 这是我的模型 class Post(models.Model): title = models.CharField(max_length=255) country = models.CharField(max

我试图显示某个国家的城市名称
{{{city}
。 例如,如果我单击“美国”,它将显示我数据库中的城市列表。
但我不知道如何正确过滤

我试过了,但什么也没发现

Post.objects.filter(country='country').filter(city='city')
这是我的模型

class Post(models.Model):
    title = models.CharField(max_length=255)
    country = models.CharField(max_length=255)
    city = models.CharField(max_length=255)
    address = models.CharField(max_length=255)
    email = models.EmailField(max_length=255)
    phone = models.CharField(max_length=255)
    website = models.CharField(max_length=255)
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('users:blog')
这是我的看法


def cities(request):
    context = {
            'posts': Post.objects.filter(country='country').filter(city='city')
    }
    return render(request, 'users/cities.html', context)

这是我的模板:

{% for post in posts %}

<table class="table table-hover text-left col-sm-6" style="table-layout: fixed; word-wrap: break-word;">
       <tbody>
        <tr>
          <td>{{ post.id }}</td>
          <td>{{ post.city }}</td>
        </tr>
    </tbody>
</table>


{% endfor %}

{% endblock %}

</div>

{%for posts in posts%}
{{post.id}
{{post.city}}
{%endfor%}
{%endblock%}
您可以使用并调用
distinct()
Post
模型获取城市名称:

视图

def cities(request):
    queryset = Post.objects.filter(country='country').values_list(
        'city', flat=True).distinct().order_by('city')
    return render(request, 'users/cities.html', {'cities': queryset})
模板

<table>
    <tbody>
    {% for city in cities %}
        <tr>
            <td>{{ city }}</td>
        </tr>
    {% endfor %}
    </tbody>
</table>

{城市中城市的百分比%}
{{城市}
{%endfor%}

我认为您的逻辑有一些错误。您确定知道如何使用Django的过滤吗?您是否在
Post
表中有
country='country',city='city'
的列?我有表country和city这是您的表coutry和city?Mohit Harshan。它在我的数据库里。