在Django项目中,我有这样定义的模型:
from django.db import models
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic
class TaggedEntry(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey("content_type", "object_id")
class Meta:
abstract = True
class File(TaggedEntry):
name = models.CharField(max_length = 256)
# some more fields
class Folder(models.Model):
name = models.CharField(max_length = 200)
files = generic.GenericRelation(File)
# some more fields
在项目中,我可以这样使用它们:
^{pr2}$我现在准备用South
进行数据迁移,在这个迁移中,我需要访问文件夹的文件,但是代码folder.files.iterator()
给我一个错误:
Error in migration: main:0015_contenttype_to_manytomany_step0
AttributeError: 'Folder' object has no attribute 'files'
是预期的吗?在
我怎么知道文件是文件夹的一部分?在
我找到了一个解决方法,用适当的内容类型\ u id和object_id筛选文件的对象:
这是可行的,但可读性较差。在
相关问题 更多 >
编程相关推荐