使用Django shell实例化具有foreignkey属性的对象

使用Django shell实例化具有foreignkey属性的对象,shell,django-models,foreign-keys,Shell,Django Models,Foreign Keys,我的问题很简单: 在Django Shell中,如何实例化需要外键属性的对象 模特们 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):

我的问题很简单:

在Django Shell中,如何实例化需要外键属性的对象

模特们

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()
在django shell中

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()
p=Person(
first_name=“Fred”
,last_name=“Flintstone”
,instrument=“吉他”
)
p、 保存()
...
a=相册(

artist=“#实例化模型时,需要将ForeignKey字段设置为相应相关模型的实例。在您的情况下:

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()
请注意,我还修复了您的一些输入错误,并为release_date和num_stars属性使用了正确的数据类型