from django.db import models
# Create your models here.
class Msg(models.Model):
score = models.IntegerField()
obj = models.CharField(max_length=200)
class Meta:
verbose_name = u'信息表'
db_table = 'msg'
verbose_name_plural = u'信息表'
class UserInfo(models.Model):
name = models.CharField(verbose_name=u'姓名', max_length=100)
# 0 男;1 女;2 其他
sex = models.SmallIntegerField(verbose_name=u'性别')
age = models.IntegerField(verbose_name=u"年龄")
info = models.ForeignKey(Msg)
class Meta:
verbose_name = u'用户表'
db_table = 'user_info'
verbose_name_plural = u'用户表'
from application.models import UserInfo, Msg
from rest_framework import serializers
class UserInfoSerializer(serializers.Serializer):
class MsgSerializer(serializers.Serializer):
score = serializers.IntegerField()
obj = serializers.CharField(max_length=200)
name = serializers.CharField(max_length=200)
sex = serializers.IntegerField()
age = serializers.IntegerField(min_value=1, max_value=100)
info = MsgSerializer()
def create(self, validated_data):
users_data = validated_data.pop('info')
msg = Msg.objects.create(**users_data)
return UserInfo.objects.create(info=msg, **validated_data)
from rest_framework.viewsets import ModelViewSet
class UsersInfoView(ModelViewSet):
queryset = UserInfo.objects.all()
serializer_class = UserInfoSerializer