我用的是Django 2。十、
我有一个用于验证请求的序列化程序。(不是ModelSerializer)
class ExecuteSerializer(serializers.Serializer):
database = serializers.IntegerField(required=True)
query = serializers.CharField(required=True)
user = serializers.HiddenField(
default=serializers.CurrentUserDefault()
)
def validate(self, attrs):
user = attrs.get('user', None)
try:
database = Database.objects.get(pk=attrs.get('database', None), collection__user=user)
except Database.DoesNotExist:
raise ValidationError({
'database': ['Does not exists']
})
attrs['database'] = database
return attrs
数据库
是对数据库
模型的引用。
我希望用户在数据库
字段中传递数据库id,但在验证后,got被转换为数据库
对象。
我试图重写validate()
方法,并将数据库
对象分配给数据库
字段,但它给出了错误
TypeError: int() argument must be a string, a bytes-like object or a number, not 'Database'
由于您正在为数据库字段使用IntegerField
,因此应该在validate
方法中返回int作为数据库值,例如database。身份证件:
def validate(self, attrs):
user = attrs.get('user', None)
try:
database = Database.objects.get(pk=attrs.get('database', None), collection__user=user)
except Database.DoesNotExist:
raise ValidationError({
'database': ['Does not exists']
})
attrs['database'] = database.id # fix is here
return attrs
假设我有以下模型,和模型序列化器: 模型。派克 serializers.py 问题是我想在views.py中使用这个对象something_else,而不是进行另一个数据库查询。有什么方法可以通过串行化程序传递它,而不会在调用serializer.is_valid()方法时导致串行化程序验证错误。
问题内容: 我有一个简单的模型,其中包括, 和领域。 在管理方面,可能在其他地方,我想显示为: 对我而言,执行此操作的逻辑位置是在模型中通过创建一个这样的计算字段: 最终,我认为我需要以字符串形式获取名称字段的值。我得到的错误是。字符串所需的值。我不知道这是什么意思。 一定有一种简单的方法可以做到这一点,我敢肯定我不是第一个想要这样做的人。 编辑:下面是我的代码修改为丹尼尔的答案。我得到的错误是:
问题内容: 我是Django REST框架的初学者,需要你的建议。我正在开发Web服务。该服务必须提供与其他服务的REST接口。我需要实现的REST接口无法直接与我的模型一起使用(我的意思是获取,放置,发布,删除操作)。相反,它为其他服务提供了一些计算结果。根据请求,我的服务会进行一些计算,只是将结果返回(不将结果存储在自己的数据库中)。 以下是我对如何实现REST接口的理解。纠正我,如果我错了。
我是Django REST框架的初学者,需要您的建议。我正在开发一个web服务。该服务必须向其他服务提供REST接口。我需要实现的REST接口并不直接与我的模型一起工作(我指的是get、put、post和delete操作)。取而代之的是,它向其他服务提供一些计算结果。在一个请求中,我的服务进行一些计算并返回结果(不将结果存储在自己的数据库中)。 下面是我对如何实现REST接口的理解。纠正我,如果我
问题内容: 当谈到Dart中的JSON编码时,根据Seth Ladd的赞誉 ,现在最终批准的正式方式是+ 。 假设我们有一堆模型类(PODO),例如: 现在,我希望能够像这样对我的域对象进行JSON编码: 不幸的是,这行不通… …除非我们明确告知如何编码: 我真的必须在模型类的每个类中添加一个方法,还是有更好的方法? 编辑 :这是我正在寻找的简单序列化: 例如,在ServiceStack.Text
问题内容: 在我的模型中,我想要一个包含三联列表的字段。例如。是否存在可以将这些数据存储在数据库中的字段? 问题答案: 你可以使用JSON将其转换为字符串并将其存储为字符串。 例如, 你可以在类中添加方法以自动为你转换。