【发布时间】:2022-01-04 08:51:40
【问题描述】:
我正在尝试编写一个日程安排应用程序。这里有多个workers,我创建了一个group 的工人。 Group 用作创建计划的模板。
当我创建Schedule 对象时,我想输入Group 对象并将members 从Group 对象复制到Schedule 对象。我不想为 Group 对象本身提供 ForeignKey,因为工作人员可能会在一天内发生变化,而该组应该作为模板保持不变。
models.py
class Worker(models.Model):
name = models.CharField(max_length=30)
email = models.EmailField()
class Group(models.Model):
name = models.CharField(max_length=30)
members = models.ManyToManyField(Worker, blank=True)
class Schedule(models.Model):
start_time = models.DateTimeField()
end_time = models.DateTimeField()
date = models.DateField()
members = models.ManyToManyField(Worker, blank=True)
我知道这可以通过views 和 html 模板轻松完成。但我试图在admin 页面下做同样的事情。我有一个Schedule 的表格并在admin.py 注册了它
forms.py
class CreateScheduleForm(forms.ModelForm):
group = ModelChoiceField(queryset=Group.objects.all())
class Meta:
model = Schedule
fields = ( 'date', 'start_time', 'end_time')
admin.py
@admin.register(Schedule)
class ScheduleAdmin(admin.ModelAdmin):
form = CreateScheduleForm
我不太明白如何接收此输入并处理Group 对象实例并复制members。非常感谢任何帮助。
提前致谢。
【问题讨论】:
标签: python python-3.x django django-admin django-admin-actions