Я создал небольшое приложение Django, в котором у меня есть следующее
Модель:
class CourseBatch(models.Model):
start_date = models.DateTimeField(null = True, blank = True)
end_date = models.DateTimeField(null = True, blank = True)
batch_name = models.CharField(max_length=50, default="Enter Batch Name")
course = models.ForeignKey(Course, on_delete=models.CASCADE, related_name="batches")
trainer = models.ForeignKey(Trainer, on_delete=models.CASCADE, related_name="trainer")
college = models.ForeignKey(College, on_delete=models.CASCADE, related_name="college")
additional_notes = models.TextField(max_length=500, default="No_Points",blank=True)
user = models.ForeignKey(User, verbose_name='user', on_delete=models.CASCADE, default=1)
objects = models.Manager()
class ChkListForBatch(models.Model):
batch = models.ForeignKey(CourseBatch, on_delete=models.CASCADE, related_name="checklistitems")
chkpoint = models.ForeignKey(CheckPoint, on_delete=models.CASCADE, related_name="chkpoint")
chkpoint_done = models.BooleanField(default=False)
updated_on = models.DateTimeField(null = True, blank = True)
objects = models.Manager()
def __str__(self):
return self.chkpoint.description
View
class CheckListForBatch(LoginRequiredMixin, generic.UpdateView):
model = ChkListForBatch
form_class = ChkListForBatchForm
template_name = 'checklistforbatch.html'
def get_queryset(self):
batch_id = self.kwargs.get('pk')
print(self.kwargs.get('pk'))
selected_batch = CourseBatch.objects.filter(id=batch_id)
chkListItems = ChkListForBatch.objects.filter(batch=selected_batch[0])
return chkListItems #batch[0].checklistitems.all()
Template
{% extends 'base.html' %}
{% block title %}My Batches{% endblock %}
{% block content %}
<h1>Batches</h1>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Sign up</button>
</form>
{% endblock %}
Это прекрасно работает и отображает форму со списками, как показано на рисунке ниже
Пользователь перейдет к этому экрану из списка партий, щелкнув одну из партий. Но я хочу, чтобы отображалась сетка или список, подобный интерфейсу пользователя, со всеми элементами в выпадающем списке «контрольная точка», соответствующими выбранному пакету, и соответствующим им флажком «контрольная точка выполнена». При этом все контрольные точки и статус будут видны на одном экране, и пользователю не нужно будет постоянно выбирать элементы поля со списком.
Мне не нужно показывать поля «Пакет» и «Обновлен на», и я хотел бы, чтобы поле даты обновлялось автоматически при сохранении элементов. Я искал в Интернете, но не смог найти направление. Есть ли способ преобразовать / настроить внешний вид по умолчанию для общих видов?