我应该选择哪种类型的字段来存储django模型中的ID数组列表?

时间:2011-05-17 15:16:17

标签: django list django-models

我应该选择哪种类型的字段来存储django模型中的ID数组列表? 我想轻松检查存在吗?

3 个答案:

答案 0 :(得分:1)

我会记录在案,说我认为你可能以错误的方式接近你的基本问题。也就是说,这里是一个自定义字段的代码,它将有效地存储一组ID:

class SetField(models.TextField):
    __metaclass__ = models.SubfieldBase

    def get_prep_value(self, value):
        if value is None:
            return json.dumps([])
        return json.dumps(list(value))

    def to_python(self, value):
        if isinstance(value, set):
            return value
        if not value:
            return set()
        return set(json.loads(value))

答案 1 :(得分:0)

这是一种方法。还有很多其他方法。

ids = ['1', '2', '3',]

for id in ids:
    try:
        Model.objects.get(pk=id)
    except Model.DoesNotExist:
        print "ID: %s doesn't exist" % id

答案 2 :(得分:0)

在models.py中将其存储为IntegerField(primary_key = true),当您要检查某些行时,silent1mezzo的try: