2011-10-26 15 views
1

私の質問は非常に簡単ですシェル:インスタンス化オブジェクト

Djangoのシェルで外部キー属性を必要とするオブジェクトをインスタンス化する方法? Djangoのシェルで

models.py

class Musician(models.Model): 
    first_name = models.CharField(max_length=50) 
    last_name = models.CharField(max_length=50) 
    instrument = models.CharField(max_length=100) 

class Album(models.Model): 
    artist = models.ForeignKey(Musician) 
    name = models.CharField(max_length=100) 
    release_date = models.DateField() 
    num_stars = models.IntegerField() 

...

p = Person(
     first_name="Fred" 
     ,last_name="Flintstone" 
     ,instrument="guitar" 
    ) 

p.save() 

... 

a = Album(
     artist = " "    #<------ WHAT DO I PUT HERE ? :))))) 
     ,name="u rock " 
     ,release_date ="today" 
     ,num_stars="4" 
    ) 
a.save() 

ありがとうございました!アマデウス

答えて

3

モデルをインスタンス化し、ForeignKeyのフィールドは、適切な関連モデルのインスタンスに設定する必要があります。私はまた、あなたのタイプミスの一部を固定し、RELEASE_DATEとNUM_STARS属性の正しいデータ型を使用しました

p = Musician(
    first_name="Fred", 
    last_name="Flintstone", 
    instrument="guitar" 
) 
p.save() 

import datetime 
a = Album(
    artist=p, 
    name="u rock", 
    release_date=datetime.datetime.now().date(), 
    num_stars=4 
) 
a.save() 

注:お使いの場合には。

関連する問題