身份验证与权限
前面举例项目的API对谁可以编辑或删除项目没有任何限制。而希望有一些更高级的行为,以确保:
- 项目总是与创建者相关联。
- 只有经过身份验证(登录后)的用户才能创建项目。
- 只有项目的创建者才能更新或删除它。
- 未经身份验证(游客)的请求应该具有完全只读访问权限。
modules.py 如下:
方便演示这里直接使用auth应用的User模型
from django.db import models
class Student(models.Model):
"""
学生表
"""
name = models.ForeignKey('auth.User', verbose_name='学生姓名',null=True, help_text='学生姓名', on_delete=models.SET_NULL,
related_name='student')
gender = models.SmallIntegerField('性别', default='1', help_text='性别')
hobby = models.CharField('爱好', max_length=200, null=True, blank=True, help_text='兴趣爱好')
age = models.IntegerField('年龄', null=True, )
create_time = models.DateTimeField('创建时间', auto_now_add=True, help_text='创建时间')
class Meta:
"""
元数据,
"""
db_table = 'student' # 指定当前模型创建的表明,不写默认当前的模型名Student
verbose_name = '学生信息表' # 注释
verbose_name_plural = verbose_name # 指定为复数
def __str__(self):
return f'name:{
self.name},hobby:{
self.hobby}' # 输出项目名称,方便于调式
class Subject(models.Model):
name = models.CharField(verbose_name='科目名称', max_length=100, null=True)
sutden

最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



