2011-08-01 12 views
2

注:アプリケーション(またはモデル)は、Djangoの管理に表示されない

  • Djangoの1.3
  • ブツは私の実験的なアプリケーションの名前です。
  • Python & Djangoを1週間学習しています。

私のアプリを管理領域に表示しようとしていますが、機能しません。私はすでにこの問題に関してこのサイトの他の質問/答えを読んだことがありますが、それが私に役立つものではありません。私はこの問題は、私はモデルをインポートしていますどのようにしている推測しているが、それは私には間違って見ていません...

EXP/settings.pyの関連セクション:

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'thingy', 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    # Uncomment the next line to enable admin documentation: 
    # 'django.contrib.admindocs', 
) 

EXP /ブツ/ admin.py

from thingy.models import Daily 
from django.contrib import admin 

class Daily(admin.ModelAdmin): 
    fields = ['user', 'hours_as_sec'] 

admin.site.register(Daily) 

EXP /ブツ/ models.py

from django.db import models 
from django.contrib.auth.models import User 

# Create your models here. 

class Daily(models.Model): 
    user=models.ForeignKey(User, unique=True) 
    day = models.DateField() 
    hours_as_sec = models.PositiveIntegerField() 
    notes = models.TextField() 

class Monthly(models.Model): 
    user=models.ForeignKey(User, unique=True) 
    month = models.DateField() 
    hours_as_sec = models.PositiveIntegerField() 
    notes = models.TextField() 

class WorkedWith(models.Model): 
    user=models.ForeignKey(User, unique=True) 
    day = models.DateField() 
    hours_as_sec = models.PositiveIntegerField() 

class UserProfile(models.Model): 
    user = models.ForeignKey(User, unique=True) 
    url = models.URLField("Website", blank=True) 
    company = models.CharField(max_length=50, blank=True) 

User.profile = property(lambda u: UserProfile.objects.get_or_create(user=u)[0]) 

私は無知です。何か案は?私はこれをin the official tutorialの仕事に持っていますが、自己製作のアプリケーションで動作するようには見えないので、私は何か間違っていると知っていますが、何がわからないのですか?

答えて

4

admin.pyでは、モデルを登録する方法を変更する必要があります。

class DailyAdmin(admin.ModelAdmin): 
    fields = ['user', 'hours_as_sec'] 

class Daily(admin.ModelAdmin): 
    fields = ['user', 'hours_as_sec'] 

からクラス名を変更し、次のように登録し :

admin.site.register(Daily,DailyAdmin) 
+2

+1(他の人がこれを読んでために)注意することが良いでしょうチュートリアルdoesnのこと'ModelAdmin'サブクラスを指定していないので、' admin.site.register(Model) 'が動作します。 –

+0

そうです、管理サイトでのクラスの表示方法をカスタマイズする必要がある場合は、ModelAdminクラスを指定するだけです(https://docs.djangoproject.com/ja/dev/intro/tutorial02)。 /#customize-the-admin-form – kirbuchi

+0

これを変更し、キャッシュをクリアし、ログアウトして戻しましたが、まだ動作していません。 – Forrest

関連する問題