2015-04-06 100 views
1

我正在開發一個Django Restful API &我處於我的數據庫coulmn名稱(即lambda衝突與保留python關鍵字)的情況下,我需要在我的model.py文件中使用此其中有代碼Django模型使用預留Python關鍵字數據庫列名

CHOICES = (
    (1, 'Default'), 
    (0, 'Not Default'), 
    ) 

    profileid = models.AutoField(primary_key=True) 
    alpha = models.FloatField() 
    beta = models.FloatField() 
    gamma = models.FloatField() 
    lambda = models.FloatField() # <---------- How to use lambda for column name 
    is_default = models.IntegerField(choices=CHOICES) 

**我想這不重新命名數據庫列名

任何建議可以怎麼做?

+0

https://docs.djangoproject.com/en/1.7/ref/models/fields/#db-column – 2015-04-06 06:24:50

回答

3

您可以使用相同的Field.db_column。按照文件,它應該工作:

my_lambda = models.FloatField(db_column='lambda') 

數據庫列的名稱用於此領域。如果沒有給出,Django將使用該字段的名稱。

如果您的數據庫列名是SQL保留字,或者包含Python變量名中不允許使用的字符 - 特別是連字符 - 這沒關係。 Django在幕後引用列名和表名。

+0

你的意思是Field.lambda? – 2015-04-06 06:30:49

+0

是的,我的朋友幫助,非常感謝你! Dhanyavaad! – 2015-04-06 06:33:59