2014-07-18 23 views
0

我是初學者,所以請在我身上輕鬆一下。我正在編寫一個腳本,以便在決定刪除數據庫時不必輸入數據。我的整個腳本運行良好,除非我處理一對多關係。它不會保存到數據庫中。任何人都可以告訴我我做錯了什麼或指向正確的方向嗎?Python填充一對多關係的數據庫

SCRIPT:

try: 
pmod.Instrument.objects.get(title='kjkjsdfsadfs') 
except pmod.Instrument.DoesNotExist: 
u = pmod.Instrument() 
u.title = 'Bach 42 Trombone' 
u.price = 550.00 
u.soundDescription = 'Good' 
u.functionalityDescription = 'Good' 
u.damageDescription = 'Good' 
u.accessoryDescription = 'Good' 
u.customerName = 'Jake' 
u.customerEmail = '[email protected]' 
u.instrumentCategory = 1 
print('Good2') 
u.save() 

print('Instrument1 saved') 

MODEL:

class Category(models.Model): 
    instrumentCategory=models.CharField(max_length=50,blank=True,null=True) 
    def __str__(self): 
     return self.instrumentCategory 

class Instrument(models.Model): 
    title = models.CharField(help_text='title',max_length=50,blank=True,null=True) 
    price = models.DecimalField(max_digits=8, decimal_places=2) 
    soundDescription=models.CharField(max_length=1000,blank=True,null=True) 
    functionalityDescription=models.CharField(max_length=1000,blank=True,null=True) 
    damageDescription=models.CharField(max_length=1000,blank=True,null=True) 
    accessoryDescription=models.CharField(max_length=1000,blank=True,null=True) 
    customerName=models.CharField(max_length=50,blank=True,null=True) 
    customerEmail=models.EmailField(max_length=254,help_text='Enter valid email address') 
    instrumentCategory=models.ForeignKey(Category) 

回答

1

u.instrumentCategory = 1

這不是一個models.ForeignKey場在Django是如何工作的。您需要獲取Category對象的實例並將其指定給u.instrumentCategory

u.instrumentCategory = pmod.Category.objects.get(id=1) 
+0

謝謝,我會嘗試 – user3106444

0

你可以試試:

u.instrumentCategory_id = 1