Django-fr

Forum

#1 18-01-2011 20:56:01

beegees
Membre
Inscription : 26-12-2010
Messages : 66

Admin me montre une table sur deux

Bonsoir,

J'ai ce code :

from django.db import models
import  datetime

# Create your models here.

class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date de publication')

    def __unicode__(self):
        return self.question

    def was_published_today(self):
        return self.pub_date.date() == datetime.date.today()

class Choice(models.Model):
    poll = models.ForeignKey(Poll)
    choice = models.CharField(max_length=200)
    votes = models.IntegerField()

    def __unicode__(self):
        return  self.choice

Etrangement, dans le site admin de Django, je ne vois qu'une seule table.

J'ai les champs "Question" et "pub_date"

Normalement, les deux devraient apparaître ?

syncdb me montre que les deux tables ont été créées.

Merci d'avance pour l'aide.

Hors ligne

#2 18-01-2011 21:01:59

Romain
Membre
Inscription : 11-08-2010
Messages : 27

Re : Admin me montre une table sur deux

Le 18 janv. 2011 à 20:56, beegees a écrit :

> Bonsoir,
>
> J'ai ce code :
>
>

from django.db import models
> import  datetime
> 
> # Create your models here.
> 
> class Poll(models.Model):
>    question = models.CharField(max_length=200)
>    pub_date = models.DateTimeField('date de publication')
> 
>    def __unicode__(self):
>        return self.question
> 
>    def was_published_today(self):
>        return self.pub_date.date() == datetime.date.today()
> 
> class Choice(models.Model):
>    poll = models.ForeignKey(Poll)
>    choice = models.CharField(max_length=200)
>    votes = models.IntegerField()
> 
>    def __unicode__(self):
>        return  self.choice
>

>
> Etrangement, dans le site admin de Django, je ne vois qu'une seule table.
>
> J'ai les champs "Question" et "pub_date"
>
> Normalement, les deux devraient apparaître ?
>
> syncdb me montre que les deux tables ont été créées.
>
> Merci d'avance pour l'aide.

Vérifie que toutes tes tables sont "registrées" dans le fichier admin.py de ton app.

Hors ligne

#3 19-01-2011 07:41:18

beegees
Membre
Inscription : 26-12-2010
Messages : 66

Re : Admin me montre une table sur deux

Salut,

Merci pour ta réponse.

Voici le code que j'ai dans admin.py :

from mysite.polls.models import Poll
from django.contrib import admin


admin.site.register(Poll)

Merci pour l'aide.

Hors ligne

#4 19-01-2011 08:12:49

Romain
Membre
Inscription : 11-08-2010
Messages : 27

Re : Admin me montre une table sur deux

Le 19 janv. 2011 à 07:41, beegees a écrit :

> Salut,
>
> Merci pour ta réponse.
>
> Voici le code que j'ai dans admin.py :
>
>

> 
> from mysite.polls.models import Poll
> from django.contrib import admin
> 
> 
> admin.site.register(Poll)
> 
>

admin.py

from django.contrib import admin
from mysite.polls.models import Poll, Choice

admin.site.register(Poll)
admin.site.register(Choice)

si tu veux modifier le comportement par défaut de l'interface d'admin, définis des classes ModelAdmin:

from django.contrib import admin
from mysite.polls.models import Poll, Choice

class PollAdmin(admin.ModelAdmin):
    pass

class ChoiceAdmin(admin.ModelAdmin):
    list_display = ['poll', 'choice']
    list_filter = ['poll']

admin.site.register(Poll, PollAdmin)
admin.site.register(Choice, ChoiceAdmin)

La doc de l'admin te dira tout sur les options possibles : http://docs.djangoproject.com/en/1.2/ref/contrib/admin/

Hors ligne

#5 19-01-2011 15:41:34

beegees
Membre
Inscription : 26-12-2010
Messages : 66

Re : Admin me montre une table sur deux

Salut,

Merci pour ton impeccable réponse.

Cela fonctionne parfaitement.

Merci encore

Hors ligne

Pied de page des forums