我正在开发一个 django 自定义字段。在自定义字段 def 中,我如何编写一些代码来保存另一个字段?例如,在自定义字段的 def 中,我编写了 pre_save 方法,但是在将值分配给其他模型字段后,我调用了 model_instance.save() 方法,但这导致了无限循环。你能告诉我怎么做吗?
class FullNameField(models.CharField):
def contribute_to_class(self, cls, name):
firstname_field = models.CharField(
null=True, blank=True, max_length=50)
lastname_field = models.CharField(
null=True, blank=True, max_length=50)
firstname_field.creation_counter = self.creation_counter
lastname_field.creation_counter = self.creation_counter
cls.add_to_class('firstname', firstname_field )
cls.add_to_class('lastname', lastname_field )
super(FullNameField, self).contribute_to_class(cls, name)
上面的代码在 syncdb 期间成功创建了新字段 firstname 和 lastname,我想要做的是,当我填充 fullname 字段时,firstname 和 lastname 也应该被填充。这个全名逻辑只是一个例子,但要求是一样的。