class Meta:
collection_name="data"
queryset = User.objects.all()
resource_name = 'user'
authorization = Authorization()
def dehydrate(self, bundle):
bundle.data['user_id'] = "1" # want to call one function here
return bundle
但这不起作用,错误是
IntegrityError at /v0/user
(1048, "Column 'user_id' cannot be null")
我的型号代码
class User(models.Model):
user_id = models.IntegerField(primary_key=True)
mobile_country_code = models.CharField(max_length=10L, blank=True)
mobile_no = models.CharField(max_length=15L)
email = models.CharField(max_length=75L, blank=True)
email_phone = models.CharField(max_length=75L, blank=True)
gcm_regid = models.TextField()
class Meta:
db_table = 'users'
如何调用一个函数来获取其他表的id
答案 0 :(得分:1)
我假设您正尝试使用POST / PUT / PATCH请求编写用户。您的问题是您使用的是dehydrate
而不是hydrate
。
水合物用于修改从用户收到的有效负载并将被保存。
Dehydrate用于修改将返回给用户的有效负载。
因为我假设您正在尝试编写数据,所以dehydrate
永远不会被调用,直到您已经保存用户为止。