Django 1054," Unknown column' emp_id'在'字段列表"

时间:2017-07-21 14:20:51

标签: django django-rest-framework django-users serializer

我正在尝试使用 django管理员用户名字段添加相关字段emp_id

emp_id:员工中显示Django管理员和表员工之间的公用名是员工username

我正在使用 DRF - SerializerMethodField ,但仍然说上面的错误..

我该如何解决这个问题?

这是我的模型序列化器,

模型,

emp_id = models.ForeignKey(Employee, db_column='emp_id', null=True, blank=True, default=None)

串行器,

emp_id = serializers.SerializerMethodField(method_name=None)

2 个答案:

答案 0 :(得分:1)

这里我是如何使用 SerializerMethodField

解决它的
emp_id = serializers.SerializerMethodField('emp_id_from_nickname') 

此处, emp_id_from_nickname 是方法,有助于在我的字段中添加值。

def emp_id_from_nickname(self, model_obj):
   get_id = Employee.objects.get(usename=model_obj.username).emp_id
   return get_id

class Meta:
    model = User
    fields = ('id', 'username', 'first_name', 'last_name', 'emp_id')

答案 1 :(得分:0)

将序列化程序字段更改为,

emp_id = serializers.PrimaryKeyRelatedField(queryset=Employee.objects.all())