【发布时间】:2012-01-23 23:37:46
【问题描述】:
正如http://davidcramer.posterous.com/code/181/custom-fields-in-django.html 所解释的那样,我正在使用separatedValuesField 来跟踪字符串列表,以及SO 上的许多帖子都推荐这是存储字符串列表的正确方法。
class UserProfile(models.Model):
user = models.OneToOneField(User)
device_ids = SeparatedValuesField(blank=True, null=True, default=[])
它在我的应用程序中运行良好,我可以添加设备 ID 并按预期在管理界面中查看它们。
user_profile.device_ids = ['666666-D849-524F-6984-7E9B2D768546']
但问题出在管理界面中,当我打开 UserProfile 对象的详细信息页面时,管理界面本身正在向我的 device_ids 字段添加额外的值。
例如,我的应用程序向字段中插入了一个值,当我在管理界面中查看它时,它看起来像这样:
[u'666666-D849-524F-6984-7E9B2D768546']
然后我更改我的 UserProfile 对象上的一些其他随机属性并使用内置的 django 管理界面保存按钮保存它。
当我再次打开对象的 UserProfile 对象详细信息页面时,该值现在如下所示:
[u"[u'666666-D849-524F-6984-7E9B2D768546']"]
如果我重复点击保存然后打开此详细信息页面的过程,它将继续使用 u"[ ] 字符嵌套实际值。
我可以做些什么来改变这个功能吗?我应该以不同的方式存储字符串列表吗?
【问题讨论】:
标签: python django csv django-admin