嵌套序列化默认值

来源:11-3 首页商品分类显示功能-1

Q小猪2019

2019-04-22

用户表:

class UserProfile(AbstractUser):
    """
    用户登录验证
    """
    user_choices = (
        ('user', '用户'),
        ('agent', '经销商'),
        ('admin', '管理员')
    )
    # 其余字段再设计
    user_type = models.CharField(max_length=10, choices=user_choices, default='admin', verbose_name='用户类型')
    mobile = models.CharField(max_length=11, verbose_name='手机号', null=True, blank=True)
    add_time = models.DateTimeField(default=datetime.now, verbose_name='添加时间')

    class Meta:
        verbose_name = '用户账号'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.username

经销商表:

class AgentInfo(models.Model):
    """
    经销商基础信息
    """
    user = models.OneToOneField(UserProfile, on_delete=models.CASCADE, verbose_name='用户')
    agent_Grade = models.ForeignKey(AgentGrade, on_delete=models.CASCADE, verbose_name='经销商等级')
    company_name = models.CharField(max_length=100, null=True, blank=True, verbose_name='单位名称')
    sale_region = models.CharField(max_length=50, null=True, blank=True, verbose_name='销售区域')
    legal_person = models.CharField(max_length=10, null=True, blank=True, verbose_name='法人')
    province = models.CharField(max_length=10, verbose_name='省', null=True, blank=True)
    city = models.CharField(max_length=10, verbose_name='市', null=True, blank=True)
    county = models.CharField(max_length=10, verbose_name='县', null=True, blank=True)
    email = models.CharField(max_length=50, verbose_name='邮箱', null=True, blank=True)
    wechart = models.CharField(max_length=30, null=True, blank=True, verbose_name='微信')
    remark = models.TextField(verbose_name='备注', null=True, blank=True)

    add_time = models.DateTimeField(default=datetime.now, verbose_name='添加时间')

    class Meta:
        verbose_name = '经销商信息'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.user.username

经销商serializer:

class AgentInfoSerializer(ModelSerializer):
    user = UserProfileSerializer()
    class Meta:
        model = AgentInfo
        fields = '__all__'

UserProfileSerializer:

class UserProfileSerializer(serializers.ModelSerializer):
    # user_type = serializers.ChoiceField(default='admin')

    class Meta:
        model = User
        fields = ('username', 'password', 'user_type', 'mobile')

restframework
api

在这边新建经销商的时候,我希望指定用户类型为经销商,而不是可以选择用户类型,应该怎么做?

写回答

1回答

bobby

2019-04-23

这个如果是自己写前端页面的话需要自己写

0
0

Python前后端分离开发Vue+Django REST framework实战

Django REST framework课程视频,RESTFul API前后端分离开发

2880 学习 · 2467 问题

查看课程