друг спасибо заранее за помощь. Я хотел иметь зависимую inline по отношению к родительскому объекту и ограничить набор запросов в inlines с помощью filter
в администраторе django, и я пытаюсь убедиться, что inlines загружаются асинхронно (т.е. без перезагрузки или сохранения страницы) при изменении панели администратора форма.
admin.py
class AttendanceRecordInline(admin.TabularInline):
model = AttendanceRecord
@admin.register(Level)
class LevelAdmin(admin.ModelAdmin):
pass
@admin.register(Student)
class StudentAdmin(admin.ModelAdmin):
pass
@admin.register(Attendance)
class AttendanceAdmin(admin.ModelAdmin):
inlines = [
AttendanceRecordInline,
]
models.py
class Level(models.Model):
name = models.CharField(max_length=255, null=True, blank=True)
def __str__(self):
return self.name
class Student(models.Model):
name = models.CharField(max_length=255, null=True, blank=True)
level = models.ForeignKey(Level, on_delete=models.CASCADE)
def __str__(self):
return self.name
class Attendance(models.Model):
level = models.ForeignKey(Level, on_delete=models.CASCADE)
date = models.DateTimeField(default=datetime.now)
def __str__(self):
return "Attendance of {}-{}".format(self.level, self.date.strftime('%B %d, %Y'))
class AttendanceRecord(models.Model):
attendance = models.ForeignKey(Attendance, on_delete=models.CASCADE)
student = models.ForeignKey(Student, on_delete=models.CASCADE)
status = models.CharField(max_length=30, choices=ATTENDANCE_STATUS)
def __str__(self):
return "{}-{}-{}".format(self.attendance.date.strftime('%Y-%m-%d'), self.student, self.status)
Некоторые выводы:
- Значение нагрузки Ajax с учетом соотношения сторон
form, event listener and template
- Пробовал
def formfield_for_foreignkey(self, db_field, request, **kwargs):
и все работает, но результат не асинхронный
переопределение другой функции, результаты не асинхронные
get_formset
get_formsets_with_inlines
get_inline_instances
Проблема:
Вывод:
Первая из находок, похоже, работает в моем сценарии. Это хорошая практика для создания поля Foreignkey с помощью AJAX?