在Django模型定义中需要两个字段之一的特定方式

2024-03-29 10:16:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个模型MyModel,其中有field1和{}。我需要这两个字段中的任何一个。我该怎么做?在

class MyModel(models.Model):
    field1 = models.TextField(?)
    field2 = models.TextField(?)

我正在寻找一种我见过但却忘记了的特定的最佳实践方法,而不是最重要的clean函数方法。我记得重写某些函数的方法,但我不认为它是clean。在

提前谢谢


Tags: 方法函数模型cleanmodelmodelsclassmymodel
1条回答
网友
1楼 · 发布于 2024-03-29 10:16:47

按注释使用干净

class MyModel(models.Model):
    field1 = models.TextField(blank=True)
    field2 = models.TextField(blank=True)

    def clean(self):
        if not self.field1 and not self.field2:  # This will check for None or Empty
            raise ValidationError({'field1': _('Even one of field1 or field2 should have a value.')})

相关问题 更多 >