0

複数のエンティティがプロジェクトを定期的に更新できるような関係を構築しようとしています。より正確に言うと、モデルで使用される用語を定義したいと思います。

リード=>これがプロジェクトになります。

会社=>プロジェクトへの入札を許可される請負業者。プロジェクトの入札/交渉中、リードのステータスフィールドを定期的に更新する必要があります。

リード更新=>更新を保持するために使用されるテーブル。

しかし、サーバーを実行しようとすると、このエラーが発生します

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

私はDjangoサイトhttps://docs.djangoproject.com/en/1.4/topics/db/models/の例に基づいてこのルートに行くことにしました。これは、私が達成しようとしているものと似ています。私も完全にオフになっている可能性があります。 :)

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)
4

1 に答える 1

0

エラーが示すように、リードフィールドの定義に related_name 引数を追加してみてください。

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

これで問題は解決するはずです。

于 2012-08-31T06:49:19.030 に答える