Я новичок в Python Django, мне было немного сложно получить данные из базы данных и назначить их для внешнего ключа. я использую базу данных postgres.
модель:
class Company (models.Model):
author = models.ForeignKey ( User , on_delete = models.CASCADE )
comapny_name = models.CharField ( max_length = 32 , null = False , blank = False )
class owner (models.Model):
company = models.ForeignKey ( Company, on_delete = models.CASCADE )
owner_name = models.CharField ( max_length = 32 , null = False , blank = False )
как мне это сделать, поскольку я не хочу передавать значение FK через URl, вместо этого я хочу запросить значение иназначить его во время обработки формы. Каждому пользователю разрешено создавать только одну компанию, поэтому я хочу назначить comoany_name, которое относится к пользователю, который создал имя компании, и присвоить его FK.
views:
def createownerform (request):
q = Company.objects.all()
if request.method == 'POST' :
form = ownerform( request.POST )
if form.is_valid ( ) :
instance = form.save ( commit = False )
instance.company_id = q.id
instance.save ( )
return redirect ( 'str_dashboard' )
else :
form = businessmodelform ( )
return render ( request , 'str_business.html' , { 'form' : form } )