Django object.create方法添加信息时过滤掉字典中不需要的字段

时间:2022-01-23 00:32:45 类型:python
字号:    

Django object.create方法添加信息不允许有模型中没有的字段,使用下面的两种方法来解决

1, 先去掉字典中字段, 字段少时推荐使用

post.pop("csrfmiddlewaretoken")
post.pop("file")
news = News.objects.create(**post)

2.  得到模型中的字段,判断过滤掉不在里面的, 字段比较多时推荐使用

field_names = [row.name for row in News._meta.fields]
//或者
field_names = []
for row in News._meta.fields:
    field_names.append(row.name)
#得到模型的字段列表
news = News.objects.create(**{key: value for key, value in post.items() if key in field_names})


<