Я создаю отношения "один к одному" в django Multitable-Inheritance, но они не показывают Book-id в моем дочернем классе Table и также показывают Integrity Error Почему?
Это мой models.py :
class Book(models.Model):
Book_Name = models.CharField(max_length=100, default="Don Quixote")
Author_Name = models.CharField(max_length=100, blank=True, default="Miguel de Cervantes")
Price = models.FloatField(default=175.00)
created = models.DateTimeField(auto_now_add=True)
update = models.DateTimeField(auto_now=True)
def __str__(self):
return self.Book_Name
class ISBN(models.Model):
book = models.OneToOneField(Book, on_delete=models.CASCADE, parent_link=True, primary_key=True)
Isbn = models.CharField(max_length=100)
def __str__(self):
return self.Book_Name
в соответствии с моим кодом каждая книга имеет один номер isbn, но в админ панели таблица ISBN не показывает атрибуты книги или не показывает никакой book-id. она показывает только колонку Isbn и после того как я ввожу данные в эту колонку она показывает мне ошибку "IntegrityError at /admin/inheritance/isbn/add/" и "NOT NULL constraint failed: inheritance_isbn.book_id"
Это мой admin.py :
@admin.register(Book)
class PostAdmin(admin.ModelAdmin):
list_display = ['Book_Name', 'Author_Name', 'Price']
@admin.register(ISBN)
class PostAdmin(admin.ModelAdmin):
list_display = ['book', 'Isbn']
Я новичок в python и Django, поэтому любая помощь будет очень признательна.
Попробуйте заменить book на PostAdmin.list_display на book__id
@admin.register(ISBN)
class PostAdmin(admin.ModelAdmin):
list_display = ['book__id', 'Isbn']