python - 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
})
问题:我无法使用映射到某个国家/地区的配置文件过滤数据。修改后的代码..........................
解决方案
推荐阅读
- java - 如何在 Spring 中模拟 WebClient?
- javascript - 为什么在javascript中的另一个函数中使用函数时按钮不起作用?
- pandas - df的自定义排序
- mysql - 查找一个字符差异的序列号
- sql - SQL 按年份分组给出不正确的结果
- bash - kubernetes 作业不会终止
- python - 为什么我在 docker 和 postgresql 之间存在连接问题?
- swift - 使用 CoreGraphics 绘制动态饼图段
- r - 当值低于零时如何使线变为红色,高于零时如何使线变为绿色?
- c# - 从“B”或“C”调用的方法“A”(MethodBase/MethodInfo)获取调用堆栈,而不使用堆栈跟踪