django admin 資料庫表關聯關係的問題
關聯關係欄位 (Relationship fields)
ForeignKey,ManyToManyField與OneToOneField分別在Model中定義多對一,多對多,一對一關係。
例如,一本書由一家出版社出版,一家出版社可以出版很多書。一本書由多個作者合寫,一個作者可以寫很多書。
1 2 3 4 5 6 7 8 |
class Author(models.Model):
name = models.CharField(max_length = 20 )
class Publisher(models.Model): name = models.CharField(max_length = 20 )
class Book(models.Model):
name = models.CharField(max_length = 20 )
pub = models.ForeignKey(Publisher)
authors = models.ManyToManyField(Author)
|
1.關聯尚未定義的Model
如果你要與某個尚未定義的 model 建立關聯 ,就使用 model 的名稱,而不是使用 model 物件本身。
例子中,如果Publisher與Author在Book後面定義,需要寫成下面的形式:
1 2 3 4 |
class Book(models.Model):
name = models.CharField(max_length = 20 )
pub = models.ForeignKey( 'Publisher' )
authors = models.ManyToManyField( 'Author' )
|
2.Model關聯自身
Model可以與自身做多對一關係
1 2 3 |
class People(models.Model): name =
|