Django-piston:如何获取 app_label 和 model_name?
之前我只是使用Django自带的序列化工具,它会自动添加一个模型字段。
{
pk: 1
model: "zoo.cat"
}
我想知道怎么用django-piston来获取同样的模型字段?
我试过用fields = ('id', 'model'),但是没有成功。
4 个回答
0
最好使用元数据 Options.label
https://docs.djangoproject.com/en/2.1/ref/models/options/#label
MyModel._meta.label # app_name.MyModel
MyModel._meta.label_lower # app_name.mymodel
5
这是你在代码中用到的 app_label
:
instance._meta.app_label
接下来是 model_name
:
instance.__class__.__name__
而且通过 get_model
这个方法,你可以从字符串或者网址中获取模型名称!
13
我在我的模型里加了这个:
def model(self):
return "{0}.{1}".format(self._meta.app_label, self._meta.object_name).lower()
然后在我的BaseHandler里加了这个:
fields = ('id', 'model')
看起来可以正常工作。如果有人有其他的解决办法,欢迎分享哦。