# models
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
class Meta:
db_table = 'tb_user'
class Hospital(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE)
name = models.CharField(max_length=10)
class People(models.Model):
name = models.CharField(max_length=10)
age = models.IntegerField()
dt = models.DateTimeField(auto_now_add=True)
cate = models.ForeignKey(Hospital,on_delete=models.CASCADE)
num = models.IntegerField(default=0)
# 序列化器
from app.models import *
from rest_framework.serializers import SerializerMethodField,ModelSerializer
class Userser(ModelSerializer):
class Meta:
model = User
fields = '__all__'
class Hospitalser(ModelSerializer):
class Meta:
model = Hospital
fields = '__all__'
class Peopleser(ModelSerializer):
class Meta:
model = People
fields = '__all__'
# 视图
from django.shortcuts import render
from app.sers import *
from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework.generics import ListAPIView,ListCreateAPIView
from rest_framework_jwt.utils import jwt_encode_handler,jwt_payload_handler
from django.contrib.auth import authenticate
# Create your views here.
# 医院注册:
class Useradd(APIView):
def post(self,request):
username = request.data.get('username')
password = request.data.get('password')
if not all([username,password]):
return Response({'msg':'缺少必要参数'})
User.objects.create_user(username=username,password=password)
return Response({'msg':'ok'})
# 医院列表
class Userlist(ListAPIView):
queryset = User.objects.all()
serializer_class = Userser
# 科室添加,展示
class HospitalListCreate(ListCreateAPIView):
queryset = Hospital.objects.all()
serializer_class = Hospitalser
# 病人的添加和展示:
class Peoplelistcreate(ListCreateAPIView):
queryset = People.objects.all()
serializer_class = Peopleser
# 详情页面:
class Peoplexq(APIView):
def get(self,request,pk):
people = People.objects.get(id=pk)
people.num += 1
people.save()
ser = Peopleser(people)
return Response(ser.data)