2011-03-24 57 views
0

我有延伸用户模型的模型并且具有形式为它Django的延伸用户onetoone

class Dealer(models.Model): 
    account   =models.CharField(max_length=8,blank=True) 
    addresses  = generic.GenericRelation(Addres, null=True, blank=True)  
    email   =models.EmailField(blank=True)   
    name   =models.CharField(max_length=50)  
    tel    =models.CharField(max_length=20,blank=True)  
    state   =models.ForeignKey(State) 
    summa   =models.FloatField(blank=True) 
    user   =models.OneToOneField(User, blank=True) 

class DealerForm(forms.ModelForm):  
    username = forms.RegexField(label=("Username"), max_length=30, regex=r'^[\[email protected]+-]+$', 
     help_text = ("Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only."), 
     error_messages = {'invalid': ("This value may contain only letters, numbers and @/./+/-/_ characters.")}) 
    password = forms.CharField(label=("Password"), widget=forms.PasswordInput) 

    class Meta: 
     model=Dealer 
     exclude=('user') 

但是当我尝试以显示它蒙山这样一个观点

def dealer_form(request,id_):       
     form=DealerForm(initial={'username':''})         
     return render_to_response('dealer_form.html', {'form': form},context_instance=RequestContext(request)) 

字段的用户名和密码充满第一位用户数据。帮我解决问题。

回答

1

假设你正在传递的id是经销商的ID:

views.py:

from django.shortcuts import get_object_or_404 

def dealer_form(request, id_): 
    if id_: 
     dealer = get_object_or_404(Dealer, pk=id_) 

    form=DealerForm(instance=dealer) 
    return render_to_response('dealer_form.html', {'form':form}, 
     context_instance=RequestContext(request))