Я пытаюсь создать доску объявлений. У меня есть следующие models.py. Пользователь создает бизнес один раз (но может создать более одного), а затем публикует несколько заданий из этого бизнеса:
class Business(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.CharField(max_length = 200)
address = models.CharField(max_length = 200)
city = models.CharField(max_length = 100)
state = models.CharField(max_length = 50)
zip_code = models.CharField(max_length = 10)
phone_number = models.CharField(max_length = 10)
class Job(models.Model):
business = models.ForeignKey(Business, on_delete= models.CASCADE)
title = models.CharField(max_length = 200)
description = models.TextField(blank = True)
Я пытаюсь использовать ModelForm
для создания представления «опубликовать работу». forms.py:
from django.forms import ModelForm
from .models import Job
class JobForm(ModelForm):
class Meta:
model = Job
fields = ['title', 'description']
Теперь views.py:
from .models import Business, Job
from .forms import JobForm
def post_job(request):
if request.method == 'POST':
form = JobForm(request.POST
if form.is_valid():
# how do I associate a business with an instance of a job before saving the object?
form.save()
else:
form = JobForm()
return render(request, 'job/post_job.html', {'form':form})
Я пытался form.business = request.user.business
, думая, что каждый Business
связан с User
, но это не работает , Спасибо за любую помощь.