models.py
class Product(models.Model):
name = models.CharField(help_text='项目名称', max_length=32)
desc = models.CharField(help_text='项目描述', max_length=256)
create_at = models.DateTimeField(help_text='创建时间', auto_now_add=True)
update_at = models.DateTimeField(help_text='更新时间', auto_now=True)
creator = models.ForeignKey(help_text='创建者', to=User, to_field='id', on_delete=models.CASCADE)
# 通过db_table自定义数据表名
class Meta:
db_table = 'product'
serializers.py
from rest_framework import serializers
from .models import Product
class ProductSerializer(serializers.ModelSerializer):
# 获取当前用户,自动赋值
creator = serializers.HiddenField(
default=serializers.CurrentUserDefault()
)
class Meta:
model = Product # 指定的模型类
fields = '__all__' # 需要序列化的属性
关键语句:
creator = serializers.HiddenField(
default=serializers.CurrentUserDefault()
)
比如项目名自动写入为2021
name = serializers.HiddenField(
default='2021'
)