如何在Django(Python)中像Google App Engine(Python)中的ListProperty属性一样创建ListField ?我的数据是这样的名单:3,4,5,6,7,8。
我必须定义什么属性,以及如何从中获取值?
ListField
使用你可以使用的类型来重新研究它。但这有一些假设,例如你不在列表中存储复杂类型的事实。出于这个原因,我曾经ast.literal_eval()
强制只将简单的内置类型作为成员存储在ListField:
from django.db import models
import ast
class ListField(models.TextField):
__metaclass__ = models.SubfieldBase
description = "Stores a python list"
def __init__(self, *args, **kwargs):
super(ListField, self).__init__(*args, **kwargs)
def to_python(self, value):
if not value:
value = []
if isinstance(value, list):
return value
return ast.literal_eval(value)
def get_prep_value(self, value):
if value is None:
return value
return unicode(value)
def value_to_string(self, obj):
value = self._get_val_from_obj(obj)
return self.get_db_prep_value(value)
class Dummy(models.Model):
mylist = ListField()
试一下:
>>> from foo.models import Dummy, ListField
>>> d = Dummy()
>>> d.mylist
[]
>>> d.mylist = [3,4,5,6,7,8]
>>> d.mylist
[3, 4, 5, 6, 7, 8]
>>> f = ListField()
>>> f.get_prep_value(d.numbers)
u'[3, 4, 5, 6, 7, 8]'
在那里,列表以unicode字符串的形式存储在数据库中,并且在将列表拉回数据库时,它会通过进行运行ast.literal_eval()
。
CommaSeparatedIntegerField的替代方法,它允许你存储任何分隔的值。你还可以选择指定令牌参数。
from django.db import models
class SeparatedValuesField(models.TextField):
__metaclass__ = models.SubfieldBase
def __init__(self, *args, **kwargs):
self.token = kwargs.pop('token', ',')
super(SeparatedValuesField, self).__init__(*args, **kwargs)
def to_python(self, value):
if not value: return
if isinstance(value, list):
return value
return value.split(self.token)
def get_db_prep_value(self, value):
if not value: return
assert(isinstance(value, list) or isinstance(value, tuple))
return self.token.join([unicode(s) for s in value])
def value_to_string(self, obj):
value = self._get_val_from_obj(obj)
return self.get_db_prep_value(value)
我正在尝试创建列表列表,其中大列表表示纸张包含小列表表示问题的集合,问题列表由问题字符串及其ID组成。在这里我的代码: 现在我没有错误地制作问题列表,但是当我尝试创建更大的列表时,Visual Studio无法将可变问题类型识别为类型,哪里错了?
我不熟悉java和springboot。我正在尝试使用springboot创建一个CRUD应用程序。我使用MySQL存储数据。 员工模式- 员工资源库- 员工控制员- 上面的控制器在JSON对象数组表单中给出了结果,如下所示 但我需要以下表格的回复 非常感谢你的帮助。
问题内容: 我有一个字符串列表,例如: 我想为列表中的每个元素创建一个列表,该列表的名称应与字符串完全相同: 如何在Python中做到这一点? 问题答案: 你可以通过创建一个dict: 然后按(例如:)访问每个你不想走单独的变量之路!
我正在寻找一些关于使用模型在django admin上创建一个“仅创建”字段的解决方案。我以前看到过一些问题,但没有人能回答核心问题:当用户在管理面板上创建时,字段应该出现,但我不希望能够编辑。 models.py admin.py “readonly_fields”解决了以后编辑时的问题,但在创建时却导致了禁止。 问题:我使用这个字段来做一个散列,我不想再做这个改变…我曾想过使用第二个字段,在创
问题内容: 我正在尝试SlugField在Django中创建一个。 我创建了这个简单的模型: 然后,我这样做: 我在期待 问题答案: 有一些utf-8字符的特殊情况 例: 这可以用Unidecode解决
我想列个这样的单子。请帮帮我.谢了。