1

私のmodel.pyファイルは

from django.db import models

class Book(models.Model):
    book_id=models.AutoField(primary_key=True,unique=True)
    book_name=models.CharField(max_length=30)
    author_name=models.CharField(max_length=30)
    publisher_name=models.CharField(max_length=40)
    def __unicode__(self):
        return "%d %s %s %s" % (self.book_id,self.book_name, self.author_name,self.publisher_name)


class Author(models.Model):
    author_id=models.AutoField(primary_key=True)
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=40)
    email = models.EmailField()
    book=models.ForeignKey(Book)

    def __unicode__(self):
        return u'%d %s %s' % (self.author_id,self.first_name, self.last_name)

「class Book」の場合、 を使用して MySQL にテーブルを作成しましmanage.py syncdbた。しかし、「Author」という名前の新しいテーブルでデータベースを更新する方法があります。同じことを行うための手順が必要です。私は後者を同じようにしようとしていますが、DBにテーブルが作成されていないためです。

4

2 に答える 2

2

syncdb新しく指定されたテーブルを作成する必要があります。が作成されていない場合Authorは、有効な方法でコーディングされていないためです。行に注意してください

age=int

構文エラーになります。この方法で整数フィールドを指定する必要があります。

age=models.IntegerField()

ただし、DB の移行に関連するすべての処理をDjango Southに任せたほうがよいでしょう。

于 2013-03-01T12:51:02.037 に答える