2012-08-30 3 views
0

여러 엔터티가 프로젝트를 정기적으로 업데이트 할 수있게 해주는 관계를 만들려고합니다. 좀 더 정확히 말하면 모델에 사용 된 용어를 정의하고 싶습니다.Django 중간 모델

리드 => 이것은 프로젝트가 될 것입니다.

회사 => 프로젝트에 입찰 할 수있는 계약자. 프로젝트에 대한 입찰/협상을 진행하는 동안 정기적으로 상태 필드를 업데이트해야합니다.

리드 업데이트 => 업데이트를 유지하는 데 사용되는 표.

하지만 난 내가 achieve.I하려고하면 어떻게 될 것인가 메신저와 유사하다 장고 사이트 https://docs.djangoproject.com/en/1.4/topics/db/models/의 예에 따라이 경로를 이동하기로 결정

"companies.leadupdate: Reverse query name for field 'lead' clashes with m2m field 'Lead.leadupdate'. Add a related_name argument to the definition for 'lead'" 

이 오류를 얻을 서버를 실행하려고하면 완전히뿐만 아니라 오프 :

from django.db import models 
class Company(models.Model): 
    comp_name = models.CharField(max_length=200) 
    comp_address = models.CharField(max_length=200) 
    comp_email = models.CharField(max_length=200) 
    comp_zip = models.IntegerField() 
    comp_phone = models.IntegerField() 
    comp_city = models.CharField(max_length=40) 
    def __unicode__(self): 
     return self.comp_name 



class Leadsource(models.Model): 
    assetname = models.CharField(max_length=100) 
    def __unicode__(self): 
     return self.assetname 


class Lead(models.Model): 

    numberofstations = models.IntegerField() 
    comment = models.CharField(max_length=500) 
    #company = models.ManyToManyField(Company) 
    leadsource = models.ForeignKey(Leadsource) 
    submissiondate = models.DateField('Submission Date') 
    cname = models.CharField('Business Name', max_length=100) 
    crep = models.CharField('Principle Contact', max_length=100) 
    cemail = models.CharField(max_length=100) 
    caddress = models.CharField(max_length=100) 
    cnumber = models.CharField(max_length=100) 
    leadupdate = models.ManyToManyField(Company,through='Leadupdate') 

    def __unicode__(self): 
     return u"%s %s %s" % (self.cname, self.crep, self.leadsource) 


class Leadupdate(models.Model): 
    updatedate = models.DateField() 
    update = models.CharField(max_length=400) 
    updatefrom = models.ForeignKey(Company) 
    lead = models.ForeignKey(Lead) 
    def __unicode__(self): 
     return u" %s - %s " % (self.update, self.updatedate) 
+1

그래서 무엇이 문제입니까? –

답변

0

오류가, 리드 필드의 정의에 related_name 인수를 추가하려고 말한다처럼 예 :

lead = models.ForeignKey(Lead, related_name="lead_related") 

이렇게하면 문제가 해결됩니다.

+1

해냈어 고마워! – shaytac