Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自QuerySet的Django管理表单验证_Django_Django Forms_Django Admin_Django Validation - Fatal编程技术网

来自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
,但这没有帮助,因为在提交表单之前,我们不知道
事件是什么。处理这个问题的最佳方法是什么?

如果我理解正确,您可以在自己的服务模型类上编写一个自定义验证

那肯定管用。但我仍然担心我做得不对。对我来说,让服务集确定某个事件存在哪些工作方式是更好的数据库设计,但这显然无助于验证。