首页 > 解决方案 > Django过滤数据与国家分配给用户

问题描述

帐户应用模型.py

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.DO_NOTHING)
    countries = models.ManyToManyField(CountryMaster)

    @receiver(post_save, sender=User)
    def create_user_profile(sender, instance, created, **kwargs):
        if created:
            Profile.objects.create(user=instance)

    @receiver(post_save, sender=User)
    def save_user_profile(sender, instance, **kwargs):
        instance.profile.save()

数据应用视图.py

def CreateData(request):
    form = CreateDataModelForm(request.POST or None)
    profiles = Profile.objects.all()    
    a = []
    for profile in profiles:
        b = profile.countries.all()      
        a.append(b)
    **data = DataMaster.objects.filter(
        CountryName__in=a).order_by('-id')[:7]**   
    if form.is_valid():
        note = form.save(commit=False)
        note.createdby = request.user
        note.save()
        return redirect("globaldata:add_data")
    return render(request,
              "adddata_globaldata.html",
              context={
                  "data": data,
                  "form": form
              })

问题:我无法使用映射到某个国家/地区的配置文件过滤数据。修改后的代码..........................

标签: pythondjangodjango-filter

解决方案


推荐阅读