Создание экземпляра модели при нажатии на кнопку (один-ко-многим)
Я хочу создать предложение для проекта, когда я нажимаю кнопку "Предложение" в моем шаблоне. Как мне это сделать. см. пример ниже
models.py
class Project(models.Model):
academic_level = models.CharField(max_length=20, choices=ACADEMICS_LEVEL)
type_of_paper = models.CharField(max_length=50, choices=TYPE_OF_PAPER)
subject_area = models.CharField(max_length=50, choices=SUBJECT_CHOICES)
title = models.CharField(max_length=250)
slug = models.SlugField(unique=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("project_detail", kwargs={
"slug": self.slug
})
class Bid(models.Model):
project = models.ForeignKey(Project, on_delete=models.CASCADE)
made_by = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True, on_delete=models.SET_NULL)
date = models.DateField(auto_now_add=True)
def __str__(self):
return self.project.title
views.py
class ProjectDetailView(LoginRequiredMixin, DetailView):
model = Project
def create_bid(self, request):
if request.method =="POST":
try:
project = self.instance
made_by = request.user
bid = Bid.objects.create(project=project, made_by=made_by)
bid.save()
messages.success(
request, "Bid sent sucessfully! Wait for feedback from the project owner on the Bids Tab")
except:
messages.error(request, 'cannot send multiple bids for one project')
return render(request, 'users/project_detail.html')
кнопка Bid находится в шаблоне project_detail. Как проверить наличие события и как получить текущий экземпляр проекта в Detailview выше? Заранее спасибо