gpt4 book ai didi

python - Django:检查列表中是否存在行

转载 作者:行者123 更新时间:2023-12-01 05:28:17 25 4
gpt4 key购买 nike

我想检查 Django 模板中的 profile_images 表中是否存在 user_id

我的模型

class profiles(models.Model):
profile_id = models.AutoField(primary_key=True)
user = models.ForeignKey(User)
-----

class Profile_images(models.Model):
id = models.AutoField(primary_key=True)
user = models.ForeignKey(User)
image = models.ImageField(upload_to='uploads/',default = 'uploads/no-img.jpg')

我的观点

def view_profiles(request):
if request.user.is_authenticated():
view_all_profiles = profiles.objects.all()
profile_image = Profile_images.objects.all()
return render_to_response('profiles/all.html', {'profiles':view_all_profiles,'profile_image':profile_image}, context_instance=RequestContext(request),)
else:
return HttpResponseRedirect('/accounts/login/')

我的模板

{% for profile in profiles %}
<li>
{% for image in profile_image %}
{% ifequal image.user_id profile.user_id %}
<img src="{{MEDIA_URL}}{{image.image}}" alt="image" />
{% endifequal %}
<!-- i want to check here if not user_id exist in profile_images table -->
{% if profile.user_id not in profile_image %}
<img src="{% static 'images/no-image.jpg' %}" alt="image" />
{% endif %}
{% endfor %}
</li>
{% endfor %}

{% if profile.user_id not in profile_image %} 不起作用。我是 Django 和 python 的新手,我被困在这里。如果我的代码不正确,请提出更好的方法。

最佳答案

在您看来,您可以通过个人资料图片获取所有 user_ids,例如:

user_ids_with_profile_images = Profile_images.objects.all().values_list('user_id', flat=True)

然后在您的模板中,您可以检查 profile.user_id 是否不在 user_ids_with_profile_images 中。

<小时/>

循环遍历系统中具有配置文件的所有用户并通过外键获取他们的配置文件图像实际上可能会更干净一些,而不是循环遍历所有配置文件并尝试获取用户...

关于python - Django:检查列表中是否存在行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20908727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com