小编Lou*_*uis的帖子

Django & Geopy:为每个帖子列出所有距离:如何将一个距离关联到一个帖子

姜戈——吉奥比

我正在寻找如何定义两点之间的距离。第一个与帖子本身有关,不会因每个帖子而改变。它指示帖子的位置。第二个将链接到用户的位置。

我想计算距离 btw Post 和 User。

问题:假设我已连接:每个帖子都列出了所有距离

我得到了一个帖子:[459.414, 459.414, 459.414, 0.605, 0.605, 0.605, 0.605, 0.605, 459.414, 0.605] km

user/models.py
        class UserProfile(models.Model):
            ...
            latitude = models.DecimalField(max_digits=9, decimal_places=6, blank=True, default='0')
            longitude = models.DecimalField(max_digits=9, decimal_places=6, blank=True, default='0')

post/models.py
    class Cuisine(models.Model):
         ...
         latitude_user = models.DecimalField(max_digits=9, decimal_places=6, blank=True, default='0')
         longitude_user = models.DecimalField(max_digits=9, decimal_places=6, blank=True, default='0')
Run Code Online (Sandbox Code Playgroud)

感谢@tgrandje,我解决了一些问题以从中找到价值UserProfile:问题是我对每个帖子的距离总是相同。有什么建议吗?

def Homemainpage(request):
    
    post = Cuisine.objects.filter(status=0).order_by('-publishing_date').all() #All cuisine
    
   if request.user.is_authenticated:
    if request.user.userprofile.full_address:
        distance = []
        for p in post:
            post_lon = p.longitude_user
            post_lat = p.latitude_user
        
            post_situation = …
Run Code Online (Sandbox Code Playgroud)

python django distance geopy

5
推荐指数
1
解决办法
239
查看次数

Django:不同模型中的全局搜索 - 不显示发布结果

我希望你很好。我在不同的应用程序中创建了一个具有多个模型的全局搜索。

后期模型属于 Nutriscore 文件夹

UserProfile 模型属于 User 文件夹

如果我使用一个涵盖 Post 和 UserProfile 搜索的词,例如 Main course。我得到了 UserProfile 的一些搜索结果(3 个结果),但 Post 没有出现(而count给了我 6 个结果)。所以我不知道代码有什么问题?

用户/视图.py

 # global search 
class GlobalSearchView(ListView):
    template_name = 'search_global.html'
    count = 0
    countnutri = 0
    
    def get_context_data(self, *args, **kwargs):
        context = super().get_context_data(*args, **kwargs)
        context['count'] = self.count or 0
        context['countnutri'] = self.countnutri or 0
        context['query'] = self.request.GET.get('q')
        return context
    
    def get_queryset(self): # new
        query = self.request.GET.get('q', None)
        if query is not None:
            nutriscore = Post.objects.filter(
                Q(title__icontains=query) | …
Run Code Online (Sandbox Code Playgroud)

python django

4
推荐指数
1
解决办法
333
查看次数

标签 统计

django ×2

python ×2

distance ×1

geopy ×1