class IndexView(generic.ListView):
template_name = "posts/index.html"
def get_queryset(self):
return Inspectionfile.objects.all()
class DetailView(generic.DetailView):
model = Inspectionfile
template_name = "posts/detail.html"
class createposts(CreateView):
model = posts
fields = ['title','comments']
через CreatePosts и с помощью формы можно заполнить заголовок и комментарии, но они не связаны с каким-либо Inspectionfile (иностранный ключ). Я хочу, чтобы пользователи были связаны без необходимости выбирать. Ниже приведена моя модель. Поэтому я хочу связать каждую запись с конкретным контрольным файлом.Как связать внешний ключ в основе зрения класса в Django
class Inspectionfile(models.Model):
document_upload = models.FileField()
document_type = models.CharField(max_length=10)
document_title = models.CharField(max_length=250)
document_check = models.CharField(max_length=250)
def __str__(self):
return (self.document_title + self.document_type)
class posts(models.Model):
inspectionfile = models.ForeignKey(Inspectionfile, on_delete=models.CASCADE, default=1)
title = models.CharField(max_length=120)
comments = models.TextField()
flag = models.BooleanField(default=False)
def get_absolute_url(self):
return reverse('posts_form', kwargs={'pk': self.pk})
def __str__(self):
return self.title
форма представляет собой простой шаблон:
<form class = "form_horizontal" action = "" method = "post">
{% csrf_token %}
{{form.as_p}}
<button type="submit">Submit</button>
</form>
Вам нужно будет выслать ваши формы здесь, чтобы получить справку – YPCrumble
Как вы выбираете, какой 'Inspectionfile' вам нужен для нового сообщения? –
Это делается из шаблона индекса, поскольку он переходит к определенному файлу с помощью первичного ключа. Поэтому, когда вы нажимаете на файл, он переходит на страницу форм, но сообщения просто не подключаются к файлу, который является моей проблемой. –