无法在涉及django tastypie中的外键的表上执行CRUD

时间:2014-10-29 12:07:25

标签: tastypie

我正在通过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列。
帮助我摆脱这个问题。

0 个答案:

没有答案