2013-07-18 56 views
1

出于某种原因,这些类archivealbum显示所有的在Django管理面板领域,但image没有显示时,我去到的图像添加到图像面板的album场。如果我打开一个shell,它表明albumimage的一个子集,它只是没有出现在image的管理界面(但它通过CLI)。为什么?Django的模型类缺少联系

class archive(models.Model): 
    name = models.CharField(max_length = 30) 
    archivedata = models.TextField(blank=True, help_text="Documentation for album/image.archivedata methodology is put here") 
    def __unicode__(self): 
     return self.name 

class tag(models.Model): 
    archive = models.ForeignKey(archive) 
    tag = models.CharField(max_length=60) 
    def __unicode__(self): 
     return self.tag 

class album(models.Model): 
    archive = models.ForeignKey(archive) 
    title = models.CharField(max_length=60) 
    tags = models.ManyToManyField(tag, blank=True, help_text="Searchable Keywords") 
    archivedata = models.TextField(blank=True, null=True, help_text="Data specific to particular archiving methods or processes can be stored here") 
    def __unicode__(self): 
     return self.title 

class image(models.Model): 
    album = models.ForeignKey(album) 
    archive = models.ForeignKey(archive) 
    imagefile = models.ImageField(upload_to='ns/') #image.width/height 
    title = models.CharField(max_length=60, blank=True, help_text="Descriptive image title") 
    tags = models.ManyToManyField(tag, blank=True, help_text="Searchable Keywords") 

更新:包括每个请求我的admin.py:

​​
+0

你的admin.py是什么样的? – rh0dium

+0

我更新了我的问题以包含admin.py – mh00h

回答

1

我没有看到任何问题你有一些额外的代码在管理?一些代码覆盖了album field

Photo

+0

你说得对。我的数据库爆炸了。可能需要一段时间才能恢复到这一点,感谢你们的耐心。我会很快回报。 – mh00h

+1

非常欢迎你!稍后再见:D –

+0

固定。这是MyImage或重置整个数据库。我怀疑后者。 – mh00h

2

admin.py文件通常应该是这样的。

from django.contrib import admin 

admin.site.register(archive) 
admin.site.register(album) 
admin.site.register(image) 

根据你的admin.py我会这样做。

autoregister('archive', 'album', 'image') 

这就是说几点 - 你的admin.py有点过于复杂,当3行就足够了时不需要。此外,你应该命名为大写模型(存档,相册,图像)

+0

实际models.py中有14个以上的表格 - 为简单起见,我已将其剥离。不过,我试着为每个模型做一个直接的'admin.site.register',并将它们全部转换为大写语法来保持pythonic的东西,但这不起作用。 – mh00h

+0

我知道,如果我从我的'image'类中删除档案,django将它用作某种关键标识符,并在管理Web UI中创建新图像时发出错误,如果这对某人有帮助。 – mh00h

+0

将Image重命名为MyImage,并告诉我这是否可行。 – rh0dium