我有一个charfield作为主键的模型.在创建实例时(通过管理面板)一切都很好,我的干净方法也可以.但是,如果我回来更新myfield,不仅清理方法无法捕获非数字字符,而且整个实例都是重复的.一个具有旧的myfield值,另一个具有改变的myfield.
# models.py
class Mymodel(models.Model):
myfield = models.CharField(primary_key=True, max_length=10)
...
def clean(self):
if not re.match(r'[0-9]+', self.pesel):
raise ValidationError('Digits only.', code='invalid')
super(Mymodel, self).clean()
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?我需要它作为主键,我需要它是可编辑的.这个干净的额外问题不能很好地运作,我认为它可能是连接的.我是Django 1.5.5