【发布时间】:2018-07-30 22:01:53
【问题描述】:
我想在 Django Rest Framework 中自动创建同一实例的多个对象(即在发布请求中不提供太多数据),然后返回这些对象的列表。
假设我有这个模型:
class City(models.Model):
...
class House(models.Model):
city = models.Foreignkey(City, ...)
...
class Resident(models.Model):
house = models.ForeignKey(House, ...)
我现在希望能够通过这样的后请求访问路由:
localhost:8000/api/city/createresidents/
然后像这样取回 JSON:
{
[
{
residentid = "<some_number>",
residentname = "<some_name>",
},
{
residentid = "<some_number>",
residentname = "<some_name>",
},
...
]
}
在后请求的正文中,我附加了有关房屋和创建的居民的信息,可能是哪条街道,居民的姓氏,或者有关房屋或各自模型中的居民的其他一些数据。
如果视图应该始终创建,比如说 4 个居民,我将如何做呢?
我尝试修改CreateModelMixin 的perform_create() 方法,但无法正常工作。
编辑
我意识到我的问题写得不够清楚。
我希望帖子正文数据看起来像这样:
{
"house": "<some_house_id>"
}
这样 Django 就知道房子在哪里(意味着它属于哪家餐厅),并且 Django 使用硬编码的输入创建了 4 个居民,除了他们自动被分配到那个房子。
【问题讨论】:
-
你能添加一个
POST数据的例子吗? -
@jerin-peter-george 感谢您的帮助。我编辑了帖子以使我的问题更清楚:)
标签: python django django-models django-rest-framework django-views