按照慣例,django在__unicode__
方法定義之前的類定義中將class Meta:
聲明倒數第二。這是必需的嗎?我試圖在Lion OSX上追蹤一個db_table = u'TableName'
語句的案例(大寫/小寫)被某些模型忽略的隱患。對於某些型號,manage.py syncdb
創建mysql表格,lower()
ed表格名稱,其他型號正確使用db_table
格式。更復雜的模型,自定義save()
和其他方法是在創建mysql表之前轉換爲小寫的。我正在嘗試大量代碼重新排列以查看這是否是問題,但找不到正確順序的文檔,儘管我在過去的某個地方記得指定了class Meta:
的位置。在django中,'class Meta:`聲明放置在哪裏?
此外,還試圖爲db_table規範和單字節字符串文字的Unicode字面值。 Niether有所作爲(爲工作或非工作模式)
下面是相關代碼:
的grep -A5-B2γ_表 'entityorganizer/models.py'
class Meta:
db_table = 'Entity'
verbose_name_plural = "entities"
ordering = ["map_status","type_name","name"]
get_latest_by = "updated"
--
class Meta:
db_table = 'EntityRelationship'
ordering = ["to_entity","relationship_type"]
unique_together = (('from_entity','to_entity','relationship_type'))
get_latest_by = "updated"
verbose_name = "relationship"
--
class Meta:
db_table = 'Specialty'
verbose_name_plural = u'specialties'
def __unicode__(self):
return '%s'%(self.specialty)
--
class Meta:
db_table = 'ZipCode'
get_latest_by = "updated"
def get_region(self):
return REGION[region_id_v2-200][1] or 0
--
class Meta:
db_table = 'Setting'
def __unicode__(self):
return '%s = %s'%(self.name, self.value) #, self.updated)
這是我的假設。在我的模型def中必須存在一些其他錯誤,或者Lion和MAMP如何處理表名的情況不一致。在工作和非工作之間唯一有意義的變化是升級到服務器上的Lion OSX。 – hobs
嘗試雙重檢查您的標籤? – sdolan
標籤/縮進罰款。在Linux服務器上工作正常,而不是OSX Lion。 – hobs