我无法弄清楚如何序列化某种形式的cleaned_data
。问题可能是,此cleaned_data
包含model objects
。我没有发现任何触及此问题的内容,所以我在这里问。
例外值:
'字典'对象没有属性' _meta'
是否有一些简单的方法或Django内置函数?
我的cleaning_data:
{'notes': u'dsads', 'language_from': <Language: Slovak>, 'file': None, 'short_description': u'dsadsad', 'text_to_translate': u'dsads', 'delivery_date': datetime.date(1930, 1, 1)}
这是formset
cleaning_data:
[{'language': <Language: Magyar>, 'level': <Level: Standard level>},
{'language': <Language: Russian>, 'level': <Level: Standard level>}, {}, {}, {}]
serializer.serialize(cleaned_data)
不起作用,因为models
中有cleaned_data
。
我可能想到的唯一方法是将所有对象更改为它的主键,并在反序列化后从数据库中获取它们。
我想序列化cleaning_data,因为我将它们发送到另一个视图。
答案 0 :(得分:0)
执行此操作的Django
方法是使用model_to_dict
。这会将模型实例序列化为字典。在cleanded_data
from django.forms.models import model_to_dict
model_to_dict(model_instance)