【发布时间】:2018-07-02 06:31:26
【问题描述】:
我有一个模型:
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': model_to_dict(main)
它只会从 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 传递这些?谢谢
【问题讨论】: