我想django-rest-framwork
在保存之前编辑一个序列化器对象。这是我目前的做法-
def upload(request):
if request.method == 'POST':
form = ImageForm(request.POST, request.FILES)
if form.is_valid(): # All validation rules pass
obj = form.save(commit=False)
obj.user_id = 15
obj.save()
我该如何使用django-rest-framework
序列化器对象呢?
@api_view(['POST','GET'])
def upload_serializers(request):
if request.method == 'POST':
serializer = FilesSerializer(data=request.DATA, files=request.FILES)
if serializer.is_valid():
serializer.save()
您可以在保存序列化程序之前编辑序列化程序的对象:
if serializer.is_valid():
serializer.object.user_id = 15 # <----- this line
serializer.save()
问题内容: 我正在编写一个食谱管理器作为课程的示例项目。除了使用一些非常基本的功能之外,我对DRF并没有太多的经验。目的是: 创建具有相关成分的新配方。在创建配方对象的同时创建成分对象。 models.py: serializers.py 这样可以在数据库中成功创建配方对象和配料对象,但不会将配料列表与配方相关联。我认为这是因为运行时字典中的成分被删除了,所以当我使用创建新的配方时,没有相关的成分
问题内容: 从文档中: read_only将此设置为True以确保序列化表示形式时使用该字段,而在反序列化期间更新实例时不使用该字段。 默认为False 必需通常,如果反序列化过程中未提供字段,则会引发错误。如果反序列化过程中不需要此字段,则设置为false。 默认为True。 因此,我有一个模型,该模型的字段不可为空,但我希望在pre_save方法中填充该字段,因此我已将该字段设置为序列化器,但
问题内容: 我有一个具有可选字段的对象。我以这种方式定义了我的序列化器: 我认为 如果不存在,可以绕过该字段。但是,在文档中提到这会影响反序列化而不是序列化。 我收到以下错误: 当我尝试访问序列化实例时,这正在发生。(这是否意味着反序列化导致了这一问题?) 对于没有的实例会发生这种情况。如果我从序列化程序类中忽略它,则可以正常工作。 如何正确执行此操作?即,使用可选字段序列化对象。 问题答案: 序
本文向大家介绍django-rest-framework 加快序列化程序查询,包括了django-rest-framework 加快序列化程序查询的使用技巧和注意事项,需要的朋友参考一下 示例 假设我们有Travel很多相关领域的模型: 我们想/travels通过ViewViewSet构建CRUD 。 这是简单的视图集: 该ViewSet的问题在于我们的Travel模型中有许多相关字段,因此Dja
问题内容: 我有这样的情况,您有一个带有唯一字段的自定义嵌套序列化程序关系。样品盒: 问题: 当我尝试保存诸如{“ name”:“ The Prince”,“ genre”:{“ name”:“ History”}}的json对象时,DRF尝试验证流派对象的唯一性约束,如果 “ History” 存在引发了一个例外,因为名称为 “ History” 的流派必须唯一,这是事实,但是我只是尝试关联对象
我正在使用django rest框架创建一个API。我有以下几种型号: 要为类别ID创建序列化程序,请执行以下操作: