0
Я хочу связать связанный объект с соответствующими формами в наборе форм. До сих пор у меня есть:Как связать значение с конкретной формой в formet в django
ModelFormSet = modelformset_factory(Notification, form=NotificationsForm, extra=5)
generic_type = ContentType.objects.get_for_model(Department)
queryset = Notification.objects.filter(notificationrelation__content_type_id=generic_type.id)
formset = ModelFormSet(queryset=queryset)
for notification in formset.get_queryset():
relation = NotificationRelation.objects.get(notification=notification)
department = Department.objects.get(pk=relation.object_id)
Мои модели выглядят следующим образом:
class Notification(models.Model):
name = models.CharField('Notification Name', max_length=128)
class Department(models.Model):
name = models.CharField('Department Name', max_length=128)
class NotificationRelation(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField(null=True, blank=True)
content_object = generic.GenericForeignKey('content_type', 'object_id')
notification = models.ForeignKey(Notification)
Я хочу, чтобы связать отдел по последней строке с соответствующим уведомлением в formset.
Что-то вроде:
for form in formset:
if something:
form.department = department
Кто-нибудь знает, как я могу это сделать?
Вы не можете просто использовать inline_formset, или я что-то упускаю? – professorDante
, который работал бы, если отношение было внешним ключом, но уведомления и отделы используют общий внешний ключ. Объект_ид в объекте отношения явно не привязан к идентификатору отдела. – Atma