django模型和sqlite数据库创建错误 [英] django model and sqlite db creation bug
本文介绍了django模型和sqlite数据库创建错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下模型。
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()
我运行'python manage.py validate'给我-发现0错误
I run 'python manage.py validate' gives me - 0 errors found
然后我运行'python manage.py sql appname,然后看到表...
Then I run 'python manage.py sql "appname" and I get to see my tables...
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;
但是我看不到 contracor_since在承包商表中……正在创建db字段? ?我试过几次,我在OS X Leopard上使用django 1.1.1。
But I don't see "contracor_since in the contractor table ... db field being created??? I tried several times, I am using django 1.1.1 on OS X leopard.
我在做什么错了?
推荐答案
您正在通过使用相同名称的函数定义来遮盖模型属性。请尝试更改函数名称或模型属性( contractor_since
)。
You are shadowing the model attribute by a function definition using the same name. Try change either the function name or your model attribute (contractor_since
).
这篇关于django模型和sqlite数据库创建错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文