1

何らかの理由で、django 管理パネルにすべてのフィールドがarchive表示されますが、画像パネルに画像を追加しようとするとフィールドが表示されません。シェルを開くと、 のサブセットであることが示されますが、の管理インターフェイスには表示されません(ただし、CLI を介して表示されます)。なんで?albumimagealbumalbumimageimage

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 を含めます:

from django.db.models import get_models, get_app
from django.contrib import admin
from django.contrib.admin.sites import AlreadyRegistered

def autoregister(*app_list):
    for app_name in app_list:
        app_models = get_app(app_name)
        for model in get_models(app_models):
            try:
                admin.site.register(model)
            except AlreadyRegistered:
                pass

autoregister('appname')
4

2 に答える 2

4

通常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行で十分な場合は必要ありません。さらに、モデルに大文字で名前を付ける必要があります (アーカイブ、アルバム、画像)

于 2013-07-18T03:48:23.700 に答える