У меня есть модель:
class Main(models.Model):
name = models.CharField(max_length=99)
Который имеет несколько строк:
class First(models.Model):
Main = models.ForeignKey(Main, on_delete=models.CASCADE)
option = models.ForeignKey(Option, on_delete=models.CASCADE)
class Second(models.Model):
Main = models.ForeignKey(Main, on_delete=models.CASCADE)
option = models.ForeignKey(Option, on_delete=models.CASCADE)
Я пытаюсь отправить определенный объект "main" со всеми его строками (первый и второй). Но всякий раз, когда я делаю:
'main': model_to_dict(main)
Он будет передавать значение name только из класса Main и игнорировать все встроенные значения.
Я рассмотрел несколько других вопросов, похожих на этот, и попробовал их решения, но, к сожалению, изменил их на:
'main': main.__dict__
не работает.
Я попробовал свой собственный model_to_dict здесь:
def model_to_dict(instance, include=None, exclude=None):
fields = instance._meta.concrete_fields
if include is not None:
return {f.attname: getattr(instance, f.attname) for f in fields if f.name in include}
if exclude is not None:
return {f.attname: getattr(instance, f.attname) for f in fields if f.name not in exclude}
return {f.attname: getattr(instance, f.attname) for f in fields}
Также не прошли строки.
Есть ли простой способ передать их через JsonResponse? Спасибо