2013-07-18 110 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