来自QuerySet的Django管理表单验证
我有这两种型号:来自QuerySet的Django管理表单验证,django,django-forms,django-admin,django-validation,Django,Django Forms,Django Admin,Django Validation,我有这两种型号: class Service(MelosModel): performer = models.ForeignKey(Performer) event = models.ForeignKey('Event') composition = models.ForeignKey(Composition) class Event(MelosModel): event_type = models.ForeignKey('EventType') pr
class Service(MelosModel):
performer = models.ForeignKey(Performer)
event = models.ForeignKey('Event')
composition = models.ForeignKey(Composition)
class Event(MelosModel):
event_type = models.ForeignKey('EventType')
project = models.ForeignKey(Project)
works = models.ManyToManyField(Work)
date_of_event = models.DateTimeField()
location = models.ForeignKey(Address)
注意:MelosModel
与models.Model
具有相同的用途。此外,合成
扩展了工作
问题在于,服务
管理表单中的组合列表需要根据其事件中可用的工作
进行验证。
您如何做到这一点
我从queryset中了解到制作
modelcooicefield
,但这没有帮助,因为在提交表单之前,我们不知道事件是什么。处理这个问题的最佳方法是什么?如果我理解正确,您可以在自己的服务模型类上编写一个自定义验证 那肯定管用。但我仍然担心我做得不对。对我来说,让服务集确定某个事件存在哪些工作方式是更好的数据库设计,但这显然无助于验证。