我从我的模型中删除了一些字段,但是我希望序列化程序仍然接受这些字段作为输入。如何使序列化程序接受但不使用的字段?
class EventBaseSerializer(ModelSerializer):
class Meta:
model = models.Event
fields = ("id", "name")
#unused_fields = ("last_name")
这是我面临的问题的一个玩具例子。由于某些原因,我无法将预期的数据传递给我的序列化程序,这将引发以下错误。
AttributeError在/my-end-point/
尝试获取序列化程序ParentSerializer上的字段main_data的值时获取AttributeError。序列化程序字段的命名可能不正确,并且与str实例上的任何属性或键都不匹配。原始异常文本为:'str‘对象没有属性'main_data’。
class MainModelSerializer(serializers.ModelSerializer):
class Meta:
mo
我是django和django rest框架的新手,并试图构建一个应用程序,它应该与手机进行通信。
目前,我正在尝试创建一个响应,它不仅应该包括所请求的模型的字段,还应该添加一些额外的数据,这些数据应该首先从另一个模型中计算出来。
我的代码中有两个模型: 1. Bill 2. BillComment (有比尔模型的外键)
这是一个多(BillComment)到一个(比尔)的关系。我需要在回复中附加BillComment表中与特定账单相关的评论数量。
这是我当前的代码,它是而不是正在运行:
models.py
class BillComment(models.Model):
bill
假设我有以下模型:
class Playlist(models.Model):
name = models.TextField()
songs = models.ManyToManyField(Song)
class Song(models.Model):
title = models.TextField()
因此,一个播放列表可以有多个歌曲,一首歌曲可以在多个播放列表中。
我想添加一个“订单”字段,以便用户可以在播放列表中重新排序歌曲。我找到了,这似乎是一个完美的解决方案。但是,我需要将这个元选项添加到Song模型中,例如:
class Song(model
我正在做一个测试,部分更新或修补我的产品模型中的一些字段。我应该能够更新我的产品模型中的任何字段。在我的序列化程序中,我有一个来自request对象的url构建器。但是,我的序列化程序不会传递request,或者它是None类型。因此,我得到一个错误:AttributeError: 'NoneType' object has no attribute 'build_absolute_uri' 我如何将一个请求传递给我的序列化程序? def test_patch_products(self):
data = {
'description&
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
如何在serializer.data dict中添加一个额外字段(非模型字段)?我想在发送回复之前加上(“状态”:“可用”)。我试过这个-
if serializer.is_valid():
serializer.save()
## This one doesn't work as serializer.data is of the typ
我有以下序列化程序:
class ReqSerializer(serializers.ModelSerializer):
class Meta:
model = Earth
fields = ('area', )
这种模式:
class Earth(models.Model):
area = models.IntegerField(default=0)
根据django-rest- error ,默认情况下,"required“选项设置为True,这意味着如果我试图验证输入中没有"area”字段
这是我的模型:
class Post(models.Model):
user = models.ForeignKey(User)
post = models.CharField(max_length=400)
country = models.ForeignKey(Country, blank=True, null=True)
这是我的序列化程序:
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = ('
我有两个模型,一个有M2M关系和一个相关的名称。我希望在序列化程序和相关字段中包括所有字段。
models.py:
class Pizza(models.Model):
name = models.CharField(max_length=50, unique=True)
toppings = models.ManyToManyField(Topping, null=True, blank=True, related_name='pizzas')
class Topping(models.Model):
name = models.CharField(
我在我的Django项目中使用django-rest-framework和python-social-auth。
下面是我的项目中UserSocialAuth模型的序列化器类
class SocialAuthSerializer(serializers.HyperlinkedModelSerializer):
id = serializers.CharField()
class Meta:
model = UserSocialAuth
fields = ('id', 'provider')
然后,我想在上面的序列
我正在使用序列化程序中的数据验证来验证django的rest框架中的请求中的数据。我需要在一个单一的响应中发送所有的错误消息。
在发送一个过长的字符串时,我会得到以下错误:
django.db.utils.DataError: value too long for type character varying(3)
在我的模型中,我将字符字段的最大长度定义为3(理论上需要最大长度)。
我在序列化程序中添加了验证,以捕获具有太多字符的请求:
validators.py
class CustomUserValidators():
errors_to_return = {}
def
我试图在我们系统中的现有数据域中添加一个字段。(EF代码优先,POCO的属性为地狱:P)
但是,当将契约序列化到剃须刀视图(将其填充到Angular.js模型中)时,序列化程序省略了新字段。如果进入调试模式,视图中的Model对象包含字段,但在使用JsonConverter.SerializeObject(Model)后,输出模型不包含新字段。
我已经回收了应用程序,重新启动了网站,重新启动了IIS。为了避免浏览器端的任何缓存问题,我还检查了fiddler的数据流。
下面的解决方案实际上可以工作,因此该属性确实存在于模型中:
var model = @Html.ToJson(Model
我是新来的春天,我想要我的班级的json的反应。
public class Mapping { public String name; public Object value; }
变出
{"name" : 'value of field name', "value": 'value of field value'} to
{'value of field name' : 'value of field value'}
我试过@JsonValue和@JsonKey,但它们都不起作用。我该怎么做呢。