django-tastypie 如何在 id 中分配默认值
django-tastypie how to assign default value in id
tastypie 我想通过调用任何其他函数来分配 id
在 api.py
class 用户资源(模型资源):
class 用户资源(模型资源):
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 table
我假设您正在尝试向用户发送 POST/PUT/PATCH 请求。您的问题是您使用的是 dehydrate
而不是 hydrate
.
Hydrate 适用于修改从用户那里收到并将被保存的负载。
Dehydrate 适用于修改将返回给用户的负载。
因为我假设您正在尝试写入数据,所以您的 dehydrate
永远不会被调用,直到您已经保存了您的用户。
tastypie 我想通过调用任何其他函数来分配 id 在 api.py class 用户资源(模型资源): class 用户资源(模型资源):
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 table
我假设您正在尝试向用户发送 POST/PUT/PATCH 请求。您的问题是您使用的是 dehydrate
而不是 hydrate
.
Hydrate 适用于修改从用户那里收到并将被保存的负载。
Dehydrate 适用于修改将返回给用户的负载。
因为我假设您正在尝试写入数据,所以您的 dehydrate
永远不会被调用,直到您已经保存了您的用户。