python - Django Rest 模型配置不当:
问题描述
我正在尝试使用 Django ORM 来查询 API 而不是数据库。我找到了 Django Rest Models 库,它与库 dynamic-rest 结合使用。
我的模型称为客户端,当我运行时:
Client.objects.filter(id=62)
我收到以下错误:
ImproperlyConfigured: the response does not contains the result for client.
maybe the resource name does not match the one on the api. please check if
Client.APIMeta.resource_name_plural is ok had [u'last_name', u'first_name',
u'agent',...] in result
谁能帮助我了解如何解决此错误?
附加信息
这是我在客户端上的模型
class Client(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
agent = models.ForeignKey(Agent, db_column='agent')
.....
class APIMeta:
resource_path = 'clients'
resource_name = 'client'
resource_name_plural = 'clients'
pass
这是我在 API 上的代码
class ClientSerializer(DynamicModelSerializer):
agent = DynamicRelationField('AgentSerializer')
class Meta:
fields = '__all__'
model = Client
name = 'client'
class AgentSerializer(DynamicModelSerializer):
client = DynamicRelationField('ClientSerializer', many=True)
class Meta:
fields = '__all__'
model = Agent
更新
调试后发现返回的数据没有模型名作为key。如何以所需格式返回数据?
解决方案
django-rest-models
严重依赖dynamic-rest
框架。
在尝试使用django-rest-models
.
在这种情况下,视图集从ModelViewSet
它们应该继承自DynamicModelViewSet
.
推荐阅读
- php - 在 Woocommerce 档案页面中添加产品副标题
- exception - 当我通过 IIS Express 运行我的 Asp.net MVC 应用程序时,它工作正常,但是当我将它切换到本地 IIS 时,它给了我这个错误
- php - 在 double 上调用成员函数 first()
- android - 从生产区降级到 Beta - Android
- javascript - 使用“Web Audio API”和“AudioContext”获取带有 JavaScript 的 MP3 文件的持续时间
- oracle - 使用 ora2pg 将 Oracle Db 转换为 PostgreSQL
- ios - 交换方法时找不到选择器
- arm - Arm 组装和字节序中的 MD5 哈希
- c# - 使用角色登录的 ASP.NET C# 未重定向
- python - Facebook Graph API 和 python facebook-sdk 上传多个文件