Python 附加到django的CommaseOperatedIntegerfield

Python 附加到django的CommaseOperatedIntegerfield,python,django,django-models,django-views,Python,Django,Django Models,Django Views,我创建了一个带有CommaseParatedTegerfield的模型 型号.py class ForumPosts(models.Model): .... path = models.CommaSeparatedIntegerField(blank=True,max_length=50) ... def create_forum_post(request, ..): ... forumpost.path.append(forumpost_id)

我创建了一个带有CommaseParatedTegerfield的模型

型号.py

class ForumPosts(models.Model):

    ....
    path = models.CommaSeparatedIntegerField(blank=True,max_length=50)
    ...
def create_forum_post(request, ..):

    ...
    forumpost.path.append(forumpost_id)
    ...
我想使用这个模型,并在下面定义了我的视图 视图.py

class ForumPosts(models.Model):

    ....
    path = models.CommaSeparatedIntegerField(blank=True,max_length=50)
    ...
def create_forum_post(request, ..):

    ...
    forumpost.path.append(forumpost_id)
    ...
我遇到了一种情况,我必须将forumpost_id(一个整数)附加到定义为CommaseOperatedIntegerField的路径中。调试时我出错了

“unicode”对象没有属性“append”


我想这可能是因为缺少逗号,我尝试了许多相同代码的变体,但无法将forumpost_id添加到路径。提前感谢

CommaseParatedIntegraterField
的值不会自动反序列化,此字段类型的唯一功能是验证(它必须是逗号分隔的整数)

您需要检索字段值,对其进行反序列化,追加新的整数,序列化并将其保存回去

编辑1:

例如:

class ForumPosts(models.Model):
    # ...

    def append_to_path(self, value):
        path_list = self.path.split(',')
        path_list.append(value)
        self.path = ','.join(path_list)
用法:

forumpost.append_to_path(forumpost_id)
forumpost.save() # save will validate if the path is correct

你的意思是字符串连接?我也尝试过字符串连接,但它不起作用。我想它可能是CommaseOperatedIntegerField独有的。我对django很陌生,所以如果你不介意的话,可以解释一下如何反序列化。我只知道它与json/xml有关,但不知道如何在CommaseOperatedIntegerField的上下文中实现。