django - How to use a submit a one-to-many form -


i have list of employees work @ site. each site owned user (using django's standard user model).

i want create form adds employee , automatically links them site dependent on authenticated user is:

models.py:

class employee(models.model):     site = models.foreignkey(site, null=true)     employee_name = models.charfield(default='name', max_length=128, blank=false, null=false)  class site(models.model):     user = models.foreignkey(user)     site_name = models.charfield(max_length=128, blank=false, null=false) 

views.py:

site_profile = site.objects.get(user=request.user)  if request.method == "post":     form = employeeaddform( request.post )     if form.is_valid():          obj = form.save(commit=false)         obj.site = site_profile         obj.save()          return redirect('dashboard_home')  form = employeeaddform()  return render(request, "dashboard/employees.html",  {'form': form }) 

forms.py:

class employeeaddform(forms.modelform):       class meta:             model = employee             fields = ( 'employee_name') 

this code add employee database, in django admin, list_display = 'site' results in site object not actual site name. not appear employee linked site.

if use obj.site = site_profile.id (adding .id), error cannot assign "1": "employee.site" must "site" instance.

found error: above code correct, had tab ordering error in site model

class site(models.model): ...  def __str__(self):     return self.site_name 

def should have been inserted 1 tab inwards.


Comments