创建模型并实现接口
创建用户表,必须有mobile手机字段且必须唯一
from django.db import models
class UserModel(models.Model):
name = models.CharField(max_length=55, verbose_name="姓名")
mobile = models.CharField(max_length=11, unique=True, verbose_name="手机号码")
class Meta:
db_table = 'test_users'
verbose_name = "用户信息"
verbose_name_plural = verbose_name
数据迁移,终端下项目根目录运行
python manage.py makemigrations
python manage.py migrate
接口实现
class UserModelView(APIView):
# 获取所有用户
def get(self, req):
queryset = list(UserModel.objects.values())
return JsonResponse(data=queryset, safe=False)
# 添加一个用户
def post(self, req):
data = json.loads(req.body)
name = data.get('name')
mobile = data.get('mobile')
queryset = UserModel.objects.create(
name=name,
mobile=mobile,
)
return JsonResponse(data={
'id': queryset.id,
'name': queryset.name,
'mobile': queryset.mobile
}, status=201)
class UserModelOne(APIView):
# 获取一个用户
def get(self, req, pk):
try:
queryset = UserModel.objects.get(pk=pk)
return JsonResponse(data={
'id': queryset.pk,
'name': queryset.name,
'mobiel': queryset.mobile
}, status=200)
except:
return JsonResponse(data=None, status=404)
# 删除一个用户
def delete(self, req, pk):
try:
UserModel.objects.get(pk=pk).delete()
except:
pass
return JsonResponse(data={}, status=201)
# 修改一个用户
def put(self, req, pk):
data = json.loads(req, body)
name = data.get('name')
mobile = data.get('mobile')
try:
# 操作数据库
queryset = UserModel.objects.get(pk=pk)
queryset.name = name
queryset.mobile = mobile
queryset.save()
except:
return JsonResponse(data={}, status=404)
return JsonRespnse(data={
'id': queryset.pk,
'name': queryset.name,
'mobile': queryset.mobile
}, status=201)