Python 使用一个字段中每个单词的第一个字母填充Django中的另一个字段
我正在做一个项目,我有一个名为Post的模型,我想创建一个名为Post_id的字段,它基本上是Post_标题中每个单词的第一个字母。因此,我的models.py文件如下所示:Python 使用一个字段中每个单词的第一个字母填充Django中的另一个字段,python,django,django-models,Python,Django,Django Models,我正在做一个项目,我有一个名为Post的模型,我想创建一个名为Post_id的字段,它基本上是Post_标题中每个单词的第一个字母。因此,我的models.py文件如下所示: class Post(models.Model): ... post_title = models.CharField(max_length=24) post_id = models.CharField(max_length=24, null=True) def save(self, *args, **kwargs):
class Post(models.Model):
...
post_title = models.CharField(max_length=24)
post_id = models.CharField(max_length=24, null=True)
def save(self, *args, **kwargs):
output = ''
for i in self.post_title().split():
output += i[0]
self.post_id= ('%s') % (output)
super(Post, self).save(*args, **kwargs)
然而,这给了我一个错误:
'str' object is not callable
错误发生在:
for i in self.post_title().split()
有没有办法解决这个问题?谢谢此行出现问题:
for i in self.post_title().split():
您在这里所做的是调用属性post_title
(使用parantises()
),而不是简单地检索它:
for i in self.post_title.split():
问题发生在这一行:
for i in self.post_title().split():
您在这里所做的是调用属性post_title
(使用parantises()
),而不是简单地检索它:
for i in self.post_title.split():
问题发生在这一行:
for i in self.post_title().split():
您在这里所做的是调用属性post_title
(使用parantises()
),而不是简单地检索它:
for i in self.post_title.split():
问题发生在这一行:
for i in self.post_title().split():
您在这里所做的是调用属性post_title
(使用parantises()
),而不是简单地检索它:
for i in self.post_title.split():
为什么在
输出上使用字符串格式?它已经是一个字符串。因为我不确定如何存储这些值。错误是self.post\u title
之后的参数。您应该始终发布完整的stacktrace,而不仅仅是错误消息,这会使错误变得明显,因为它会准确地告诉您错误发生的位置。您为什么在输出上使用字符串格式?它已经是一个字符串。因为我不确定如何存储这些值。错误是self.post\u title
之后的参数。您应该始终发布完整的stacktrace,而不仅仅是错误消息,这会使错误变得明显,因为它会准确地告诉您错误发生的位置。您为什么在输出上使用字符串格式?它已经是一个字符串。因为我不确定如何存储这些值。错误是self.post\u title
之后的参数。您应该始终发布完整的stacktrace,而不仅仅是错误消息,这会使错误变得明显,因为它会准确地告诉您错误发生的位置。您为什么在输出上使用字符串格式?它已经是一个字符串。因为我不确定如何存储这些值。错误是self.post\u title
之后的参数。您应该始终发布完整的stacktrace,而不仅仅是错误消息,这会使错误变得明显,因为它会准确地告诉您错误发生的位置。嗯,不完全是这样。方法也是属性a.method()
将首先检索属性method
,然后调用它。类似地,self.post\u title()
将首先检索属性self.post\u title
,这是一个字符串,然后调用它,导致OP收到错误消息。哇,从来没有这样想过,今天才学到一些新东西。非常感谢。嗯,不完全是。方法也是属性a.method()
将首先检索属性method
,然后调用它。类似地,self.post\u title()
将首先检索属性self.post\u title
,这是一个字符串,然后调用它,导致OP收到错误消息。哇,从来没有这样想过,今天才学到一些新东西。非常感谢。嗯,不完全是。方法也是属性a.method()
将首先检索属性method
,然后调用它。类似地,self.post\u title()
将首先检索属性self.post\u title
,这是一个字符串,然后调用它,导致OP收到错误消息。哇,从来没有这样想过,今天才学到一些新东西。非常感谢。嗯,不完全是。方法也是属性a.method()
将首先检索属性method
,然后调用它。类似地,self.post\u title()
将首先检索属性self.post\u title
,这是一个字符串,然后调用它,导致OP收到错误消息。哇,从来没有这样想过,今天才学到一些新东西。非常感谢。