【发布时间】:2015-07-04 11:26:10
【问题描述】:
我真的不知道为什么我在这个 django 应用程序中遇到类型错误。下面是我的models.py代码:
from django.db import models
# Create your models here.
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=30)
website = models.URLField()
def __str__(self):
return self.name
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField(verbose_name=' Your E-mail')
def __str__(self):
return "%s %s" %(self.first_name, self.last_name)
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField(blank=True, null=True)
def __str__(self):
return self.title
我已经分别从名为 (mak & mas) 的 shell 创建了作者对象和发布者对象。
>>> from books.models import Publisher, Author, Book
>>> mak = Author.objects.create(first_name = "Kennedy")
>>> mas = Publisher.objects.create(name = "Dreem Inc")
但是当我尝试填充 Book 数据库表时,我得到一个类型错误:
>>> mybook = Book(title="The Prince", authors=mak, publisher=mas, publication_date = date(1989, 6, 30))
>>> Type Error : 'authors' is an invalid key argument for this function
我可以轻松地填充“发布者”和“作者”表。
请帮帮忙?
【问题讨论】:
标签: django python-3.x django-models django-admin