Django 对象不是“可订阅的”意味着如果你有 user.name
你不能用 user['name']
定义它意味着你不能动态加载带有信息的对象。
info = {'first_name': 'Artur', 'last_name': 'Sapek'}
me = User()
for i in info:
me[i] = info[i]
出现 TypeError: 'User' object is not subscriptable
我发现自己写的代码是这样的
info = {'first_name': 'Artur', 'last_name': 'Sapek'}
if 'first_name' in info: me.first_name = info['first_name']
if 'last_name' in info: me.first_name = info['last_name']
so on...
(它也需要 if 语句,因为有更多信息而且并不总是完整的——这不是我的实际代码)
有没有更好的方法来处理 Django 对象,因为 Django 对象不能像处理列表、字典和字符串那样灵活地使用方括号表示法?
最佳答案
关于python - Django 对象是 "non subscriptable"导致我编写冗余代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8951024/