我正试图利用我在集延戈模式中的一些领域,拯救它们。 查阅, 问题,该 回答:
class Blog(models.Model):
name = models.CharField(max_length=100)
def save(self):
self.name = self.name.title()
super(Blog, self).save()
然而,除了每个工作之外,如果我想重复这么多的时间,这还需要一些额外的打字。 因此,我要创造一种功能,把田地作为投入,并在节省费用的步骤中重新作为顶点。 因此,我写道:
def save(self):
for field in [self.first_name, self.last_name]:
field = field.title()
super(Artist,self).save()
然而,如果我以前曾考虑过这个问题,我就会认识到,这只是超越了<条码>的<菲尔德/代码>变量。 我想通过变数清单进行循环,以改变这些变量。 我知道,有些职能改变了现有价值,没有使用<代码>=。 他们如何这样做? 我能否做到这一点?
Or is there some simpler way to do what I am doing? I am going the wrong way?
SOLUTION: From the first answer, I made the function:
def cap(self, *args):
for field in args:
value = getattr(self, field)
setattr(self, field, value.title())
and in my models:
def save(self):
cap(self, first_name , last_name )
super(Artist,self).save()