У меня есть модель в Django, связанная с другой моделью с ManyToManyField .Я хотел бы получить все элементы ManyToManyField .
Вот модели:
class Personnel(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
adresse = models.CharField(max_length=150, verbose_name=_("Adresse"))
telephone = models.CharField(max_length=15, verbose_name=_("Téléphone"))
dossiermedical = models.ManyToManyField("DossierMedical", related_name=_("travaille_sur"))
class DossierMedical(models.Model):
patient = models.OneToOneField("Patient", on_delete=models.CASCADE)
В оболочке Django я сделал следующее:
p = Personnel.objects.get(pk=User.objects.get(pk=1))
d = p.dossiermedical.all()
<QuerySet []>
Однако, когда я являюсь администратором Django для этого Персонал , у вас есть:
Ответ
По сути, изображение на изображении не имеет ничего общего со связанными DossierMedical объектами.Чтобы добавить объекты, вы должны изменить страницу администратора следующим образом:
class PersonnelAdmin(admin.ModelAdmin):
model= Personnel
filter_horizontal = ('dossiermedical',)
После этого вам просто нужно зарегистрировать ее и перейти на автоматически созданную страницу администратора, которую предоставляет django.