撇开Xzibit的玩笑不说,这是我的模型:
from django.db import models
class ProjectProfitAndLoss(models.Model):
pass
class Component(models.Model):
profit_and_loss = models.ForeignKey(ProjectProfitAndLoss, related_name='components')
name = models.CharField(max_length=250)
class ComponentProducti
我正在为一个webapp应用程序开发一个api。我最初使用的是tastypie,然后切换到了django-rest-framework (drf)。Drf对我来说很容易。我打算做的是创建嵌套的用户配置文件对象。我的模型如下
from django.db import models
from django.contrib.auth.models import User
class nestedmodel(models.Model):
info = models.CharField(null=True, blank=True, max_length=100)
class UserPr
默认情况下,DRF如何处理序列化多个单元?我认为默认情况是将字段呈现为ids数组ex: 1、2、3
当我预取相关模型时,只使用两个查询。但是,当我用.values_list('id',flat=True)自己生成它时,它会对每一行进行额外的查询。
模型
class Fails(models.Model):
runs = models.ManyToManyField(Runs, related_name='fails')
class Runs(models.Model):
name = models.TextField()
视图
class Fa
我正在使用DRF为博客创建一个喜欢/不喜欢的api。我有一个包含“帖子”、“用户”和"isLike“字段的Like表。因为Django不能有组合键,所以我对("Post“和"User")使用了unique_together约束。 如果用户喜欢一个帖子,我会在Like表中创建一个条目。现在,如果用户想要从帖子中删除他的喜欢,或者想不喜欢帖子,我需要从like表中为这些(PUT/DELETE)方法输入主键。既然我知道"User“和"Post",而且两者都是唯一的,我能用唯一的字段执行(PUT/DELETE)方法吗? 模型类 class Li
我试图让一个登录用户添加媒体到他们的媒体字段中的用户配置文件,在一个DRF通用创建视图。有人试过这个吗?以下是我的观点和模型:
class MediaCreate(generics.CreateAPIView):
"""
To create a media object, send a post request to:
/profiles/media/create/
In the format:
Audio: "audio file upload"
Title: "char fiel
使用ApiController子类,它可以在Post方法中将其绑定到现有的模型对象,如
public class RegisterController : ApiController
{
public void Post(Product product)
但是,如果传入的JSON数据包含我将用来创建多个模型对象的数据,我如何直接访问这些数据呢?
public void Post(dynamic value)
返回值为null。有没有像request.POST‘’name‘之类的简单快捷的方法呢?
假设数据看起来像这样
{
'productID':1,
我得到了一个奇怪的结果,POST将JSON用于DRF端点返回:
{"photos":["This field is required."],"tags":["This field is required."]}'
然而,当POST格式数据时,DRF并不介意字段是空的。
我的模型是:
class Story(CommonInfo):
user = models.ForeignKey(User)
text = models.TextField(max_length=5000,blank=True)
fe
我想要更新实体,同时使用DRF和嵌套序列化程序创建另一个实体。这两个实体通过共同的“根”一对一地联系在一起。
我的模型看起来像这样:
class Root(Model):
...
class Node1(Model):
root = OneToOneField(Root)
class Node2(Model):
root = OneToOneField(Root)
在我的场景中,存在Root和Node1实体,我希望在一个HTTP请求中更新node1并创建node2。
我试着这样使用序列化程序:
class Node1Serializer(ModelSerializer)