Как получить доступ к значению первичного ключа родителя в django админ-инлайн? - PullRequest
0 голосов
/ 30 апреля 2020

In django -admin Я использую inline для дочернего объекта. Я ожидаю, что django не покажет дочерние элементы, которые уже назначены выбранному родителю.

Книги, Читатели, Обзоры

Когда выбран READER1, во встроенном разделе он не должен показывать BOOK1 который уже был рассмотрен читателем. В настоящее время django снова показывает весь список книг.

from django.db import models

class Book(models.Model):
    BookName = models.CharField(max_length=20)
    def __str__(self):
        return self.BookName

class Reader(models.Model):    
    ReaderName = models.CharField(max_length=20)

class Review(models.Model):
    Book_No = models.ForeignKey(Book, on_delete=models.CASCADE,null=False,blank=False)
    Reader_No = models.ForeignKey(Reader, on_delete=models.CASCADE,null=False,blank=False)
    Note = models.CharField(max_length=20)
from django.contrib import admin
from .models import Book,Reader,Review

class ReaderTopReviewInline(admin.TabularInline):
    model = Review
    fieldsets = [(None,{'fields': ['Book_No','Reader_No','Note']}),]    

class ReaderAdmin(admin.ModelAdmin):
    list_display = ['ReaderName']    
    fieldsets = [(None,{'fields': ['ReaderName']}),]
    inlines = [ReaderTopReviewInline]

admin.site.register(Reader,ReaderAdmin)

на основе документации Я пытаюсь использовать опцию formfield_for_foreignkey. но в admin.py на этом этапе я не знаю, как получить PRIMARYKEY объекта PARENT, в этом случае мне нужно знать, какой READER скрыт для фильтрации его уже рецензированных книг из списка.

или я что-то упускаю из виду? 1015 * здесь? Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...