Huz*_*yed 0 django django-models django-forms django-views django-rest-framework
我想更改字段名称。在我的模型字段名称以 prefix 开头timesheet。当我使用时,api我必须使用该timesheet前缀。我想删除该前缀而不是 keep jobs, clock_in_date, clock_out_date.... 如何重命名字段名称,以便当我从 api body 发送数据时应包含没有时间表前缀的名称
class TimesheetSerializer(serializers.ModelSerializer):
timesheet_hours = TimesheetHourSerializer(many=True, read_only=True)
class Meta:
model = TimesheetEntry
fields = [
'id',
'timesheet_jobs',
'timesheet_clock_in_date',
'timesheet_clock_in_time',
'timesheet_clock_out_date',
'timesheet_clock_out_time',
'timesheet_note',
'timesheet_hours',
]
Run Code Online (Sandbox Code Playgroud)
模型.py
class TimesheetEntry(models.Model):
timesheet_users = models.ForeignKey(User, on_delete=models.CASCADE,related_name='timesheet_users')
timesheet_jobs = models.ForeignKey(Jobs, on_delete=models.CASCADE,related_name='timesheet_jobs', blank=True, null=True)
timesheet_clock_in_date = models.DateField()
timesheet_clock_in_time = models.TimeField()
timesheet_clock_on = models.DateTimeField(auto_now_add=True)
timesheet_clock_in_by = models.ForeignKey(User, on_delete=models.CASCADE,related_name='timesheet_user_clock_in_by')
timesheet_clock_out_date = models.DateField(blank=True, null=True)
timesheet_clock_out_time = models.TimeField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
class TimesheetSerializer(serializers.ModelSerializer):
timesheet_hours = TimesheetHourSerializer(many=True, read_only=True)
jobs = serializers.CharField(source='timesheet_jobs')
class Meta:
model = TimesheetEntry
fields = [
'id',
'jobs',
.......
]
Run Code Online (Sandbox Code Playgroud)
你可以简单地使用它。这也适用于写操作
| 归档时间: |
|
| 查看次数: |
207 次 |
| 最近记录: |