2014-01-24 38 views
2

我正在使用django 1.6.1。我在模型文件夾中獲得了一個文件名「payment.py」,並且它沒有被編譯爲.pyc文件。即使我將文件名更改爲「payment_room.py」,它仍然不會編譯.py文件未在django上編譯

其他模型文件已經編譯完成並且工作得很好。

因此,如果我運行syncdb命令,django將不會在我的數據庫上創建表。我使用manage.py運行驗證命令,但它沒有返回任何錯誤。

N.B. 它仍然在調試&開發模式。網絡尚未部署到Apache服務器。

from django.db import models 
from ghb_manager.models.reservation import Reservation 

class Payment (models.Model): 
    class Meta: 
     app_label = 'ghb_manager' 

    PAYMENT_METHOD_CHOICES = (
    ('CA', 'Cash'), 
    ('CR', 'Credit'), 
    ('TR', 'Transfer') 
    ) 

    payment_id = models.CharField(max_length=14, primary_key=True) 
    reservation_id = models.ForeignKey(Reservation) 
    ammount_tendered = models.DecimalField(max_digits=19, decimal_places=2) 
    payment_method = models.CharField(max_length=20, choices=PAYMENT_METHOD_CHOICES) 
    payment_date = models.DateField() 

    def __unicode__(self): 
     return self.payment_id 
+0

你可以在這裏發佈「payment.py」嗎? – anuragal

+0

我只是把問題的快照 –

+0

該應用程序在INSTALLED_APPS? – xbello

回答

2

請檢查您的初始化的.py在你的車型目錄。你必須輸入你的車型目錄中創建,喜歡的機型:

# __init__.py 
from payment import Payment 

Django就到app.models對應用程序的模型。

+0

我有其他文件,我還沒有註冊__init__.py,它仍然編譯。是否因外鍵關係而發生? –

+0

可能是的,當你想打破你的models.py時,有兩件事很重要。 1.在init.py中輸入和2.在元類中的「app_label」。 – anuragal