2010-01-26 3 views
1

J'ai le modèle suivant.Modèle django et bug de création sqlite db

from django.db import models 

class Client(models.Model): 
    postcode = models.CharField(max_length=10) 
    first_name = models.CharField(max_length=100) 
    last_name = models.CharField(max_length=100) 
    address = models.TextField(blank=True) 
    phone = models.IntegerField(blank=True) 
    email = models.EmailField(blank=True) 
    url = models.URLField(blank=True) 
    client_since = models.DateTimeField('Client Since') 

    def __unicode__(self): 
     return self.first_name 

def client_since(self): 
    return self.client_since.date() == datetime.date.today() 

class Contractor(models.Model): 
    postcode = models.CharField(max_length=10) 
    first_name = models.CharField(max_length=100) 
    last_name = models.CharField(max_length=100) 
    address = models.TextField(blank=True) 
    phone = models.IntegerField(blank=True) 
    email = models.EmailField(blank=True) 
    contractor_since = models.DateTimeField('Contractor Since') 

    def __unicode__(self): 
     return self.first_name 

    def contractor_since(self): 
     return self.contractor_since.date() == datetime.date.today() 

Je lance 'python manage.py validate' me donne - 0 erreurs trouvées

Puis je lance « python manage.py sql "korn" et je voir mes tableaux ...

BEGIN; 
CREATE TABLE "schedule_client" (
    "id" integer NOT NULL PRIMARY KEY, 
    "postcode" varchar(10) NOT NULL, 
    "first_name" varchar(100) NOT NULL, 
    "last_name" varchar(100) NOT NULL, 
    "address" text NOT NULL, 
    "phone" integer NOT NULL, 
    "email" varchar(75) NOT NULL, 
    "url" varchar(200) NOT NULL, 
    "client_since" datetime NOT NULL 
) 
; 
CREATE TABLE "schedule_contractor" (
    "id" integer NOT NULL PRIMARY KEY, 
    "postcode" varchar(10) NOT NULL, 
    "first_name" varchar(100) NOT NULL, 
    "last_name" varchar(100) NOT NULL, 
    "address" text NOT NULL, 
    "phone" integer NOT NULL, 
    "email" varchar(75) NOT NULL 
) 
; 
COMMIT; 

Mais je ne vois pas « contracor_since dans le tableau de l'entrepreneur ... db champ créé ??? J'ai essayé plusieurs fois, je me sers django 1.1.1 sur Mac OS X Leopard.

Ce que je Je fais mal?

Répondre

4

Vous observez l'attribut model par une définition de fonction utilisant le même nom. Essayez de modifier le nom de la fonction ou l'attribut de votre modèle (contractor_since).

+0

Désolé je suis nouveau à django. Pourriez-vous, s'il vous plaît, expliquer ce que vous entendez par "ombrage de l'attribut du modèle". Merci. – wailer

+0

J'ai compris. Google et Django doc ont expliqué. Merci. – wailer