使用Django 1.5和Python 2.7和这些模型示例:创建参考模型一个Django模型Manager类
class Company(models.Model):
name = models.CharField(max_length=100)
email = models.EmailField()
class Showroom(models.Model):
name = models.CharField(max_length=100)
company = models.ForeignKey(Company)
我怎么会去有关创建“公司”有一个默认的“展示厅”。我知道我可以在视图中做到这一点,例如。
company = models.Company(name=name, email=email)
company.save()
showroom = models.Showroom(name=name, company=company)
showroom.save()
,我试图用一个像经理:
class CompanyManager(models.Manager):
def create_company(self, name, email):
company = self.create(name=name, email=email)
company.save() # <-- DONT LIKE THIS LINE
user = User.objects.create_user(name, email, 'generated')
showroom = Showroom(name=name, company=company)
showroom.save()
return company
我可以使用未保存的公司创造我的陈列室?如果不是,我需要保存它,但是这违反了管理员返回未保存实例的惯例(或者我错了吗?)。
有人可以推荐一个策略吗?
谢谢!
谢谢你,小的调整后,此解决方案......更新了我使用的代码答案。 – Berdus