def validate(self, name, data):
"""
If there is a problem with the data, raise ValidationError.
:param name: The name of this field.
:param data: Dictionary of data for all fields.
:raises: ValidationError
"""
super().validate(name, data)
if self.value is not None:
try:
# self.query could be a query like "User.select()" or a model like "User"
# so ".select().where()" handles both cases.
self.value = [self.query.select().where(self.lookup_field == v).get() for v in self.value if v]
except (AttributeError, ValueError, peewee.DoesNotExist):
raise ValidationError('related', field=self.lookup_field.name, values=self.value)
评论列表
文章目录