![](/img/trans.png)
[英]How to query through a Django model and get access to another Django model without a ManyToMany relationship?
[英]How to access to attrbuite of another model or table using ManyToMany in django
拜托我需要你的帮忙。 如何使用 ManyToMany 访问另一个 model 或表的属性
我需要通过此方法获取数据,但未检索到
---=> 这是 Models.py
class Mission(models.Model):
nom=models.CharField(max_length=50,null=False,blank=False)
description=models.CharField(max_length=150,null=False,blank=False)
date_publier=models.DateTimeField()
class Participer(models.Model):
id_benevole = models.ManyToManyField(User)
id_mission = models.ManyToManyField(Mission)
est_participer = models.BooleanField(default=False)
class User(AbstractUser):
est_association = models.BooleanField(default=False)
est_benevolat = models.BooleanField(default=False)
username = models.CharField(max_length=30,unique=True)
email = models.EmailField()
password1 = models.CharField(max_length=20,null=True)
password2 = models.CharField(max_length=20,null=True)
class ProfileBenevole(models.Model):
user = models.OneToOneField(User,related_name="benevole", on_delete = models.CASCADE,
primary_key = True)
photo_profile = models.ImageField( upload_to='uploads/images',null=True,blank=True)
nomComplet = models.CharField(max_length=50,null=True)
--=> 这是 Views.py
def demande_participer(request):
participers=Participer.objects.all()
return render(request,'Association/success.html', {'participers':participers},print(participers))
----=> 成功。html
{% extends 'home/base.html'%}
{% block content %}{% load static %}
<div class=" mt-4 pb-5">
<h1 style="text-align:center;">Confirmation de Participation </h1>
<div class="container">
<div class="card mt-5 pb-5">
{% for parti in participers %}
{{parti.mission_id.nom}}
<br>
{{parti.id_benevole.username}}
<br>
{{parti.est_participer}}
{% endfor%}
</div>
<a class="btn btn-secondary mt-2 " href="{% url 'benevole' %}">Retour </a>
</div>
</div>
{% endblock content %}
由于您具有多对多关系,因此每个参与者都可以有多个任务和用户。 因此,获取(可能)多个相关对象之一的属性是没有意义的。
在 Participer model 中将 ManyToMany 更改为 ForeignKey,或者遍历模板中的所有相关对象。 类似的东西(我没有测试这段代码):
{% for parti in participers %}
{% for benevole in parti.id_benevole.all %}
{{ benevole.username }}
{% endfor %}
{% endfor %}
从您给 model 字段的名称来看,我认为从 ManyToMany 切换到 ForeignKey 是您最好的选择。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.