我正在通过django tastypie开发web api。但是当我对涉及外键的模型进行CRUD api请求时遇到了问题。做了很多谷歌搜索,但无法找到如何纠正的简单解释。
以下是代码:
Models.py文件:
class LUserRole(models.Model):
pk_id = models.IntegerField(primary_key=True)
role_name = models.CharField(max_length=80)
role_value = models.IntegerField(unique=True)
class Meta:
managed = False
db_table = 'l_user_role'
class TUsers(models.Model):
pk_id = models.IntegerField(primary_key=True)
first_name = models.CharField(max_length=80)
last_name = models.CharField(max_length=80)
email_id = models.CharField(max_length=100)
login_name = models.CharField(max_length=80)
password = models.CharField(max_length=100)
fk_user_role_value = models.ForeignKey(LUserRole, db_column='fk_user_role_value', related_name = 'TUsers_fk_user_role_value')
is_active = models.IntegerField()
class Meta:
managed = False
db_table = 't_users'
这是另一个文件:
api.py文件:
class LUserRoleResource(ModelResource):
class Meta:
authorization = Authorization()
queryset = LUserRole.objects.all()
resource_name = 'user_roles'
allowed_methods = ['get']
serializer = Serializer()
always_return_data=True
class TUsersResource(ModelResource):
class Meta:
authorization = Authorization()
queryset = TUsers.objects.all()
resource_name = 'users'
allowed_methods = ['get', 'post', 'put']
serializer = Serializer()
always_return_data=True
第一个问题:
当我向api url发出get请求时,结果会很好,但不包括外键列。
第二个问题:
当我向api url发送帖子请求时,会出现以下错误:
" error_message":" Column' fk_user_role_value'不能为空",
注意: TUsers模型列fk_user_role_value指的是LUserRole模型的role_value列。
帮助我摆脱这个问题。