我有一个像这样定义的类:
class MyModel(models.Model):
...
我有一个这个类的实例,我想迭代它的元属性:
opts = instance._meta
for f in opts.many_to_many + opts.concrete_fields + opts.virtual_fields:
...
此代码与Django 1.7完美配合,但不适用于Django 1.8。
我收到的错误是类型错误,它的值是:
can only concatenate tuple (not "list") to tuple
它有什么问题?
答案 0 :(得分:1)
问题出在opts.virtual_fields
类型中。现在是list
。我猜它在1.8
要解决它:
metas = opts.concrete_fields + opts.many_to_many + tuple(opts.virtual_fields)