2016-07-08 13 views
1

多分ここで私はエラー が多くエラーmodels.pyジャンゴ

class Buyers(models.Model): 
    name = models.CharField(max_length= 50) 
    state = models.ForeignKey(StateBuyers, related_name="Buyers", null=True, on_delete=models.CASCADE) 
    city = models.ForeignKey(CityBuyers, related_name="Buyers", null=True, on_delete=models.CASCADE) 
    phonenumber = models.CharField(max_length=15) 
    email = models.EmailField (max_length= 50) 
    notes = models.CharField(max_length=200) 

    def __unicode__(self): 
     return self.name 

    class Meta: 
     db_table = "buyers" 

の1つのインスタンスを作成する必要がありジャンゴに

models.py

class StateBuyers(models.Model): 
    name = models.CharField(max_length=100) 

    def __unicode__(self): 
     return self.name 

    class Meta: 
     db_table = "states" 

class CountiesBuyers (models.Model): 
    state = models.ForeignKey(StateBuyers, on_delete=models.CASCADE) 
    name = models.CharField(max_length=100) 

    def __unicode__(self): 
     return self.name 

    class Meta: 
     db_table = "counties" 


class CityBuyers (models.Model): 
    state = models.ForeignKey(StateBuyers, on_delete=models.CASCADE) 
    county = models.ForeignKey(CountiesBuyers, on_delete=models.CASCADE) 
    name = models.CharField(max_length=100) 

    def __unicode__(self): 
     return self.name 

    class Meta: 
     db_table = "cities" 

を移行を作成するときに、私はエラーを持っています移行時にこのエラーがスローされます アイデアはありますか?

migration error

+0

エラーメッセージは何ですか? – Gocht

+0

これです。 return self.cursor.execute(sql、params) django.db.utils.ProgrammingError:relation "buyers"は存在しません –

+0

2つのFKに同じ 'related_name'を使用することはできません。変更してもう一度やり直してください。 – Gocht

答えて

1

ややオフトピックが、なぜあなたは規則に従わないのですか?彼らは、デフォルトの状態が郡のために存在する場合

  • なぜ重複状態と同じであれば、余分なパラメータのための単数形
  • 必要性を全く使用しない

    • 単純なモデル名?パフォーマンスの向上?
    class NameAsReprMixin(object): 
        def __unicode__(self): 
         return self.name 
    
    class State(models.Model, NameAsReprMixin): 
        name = models.CharField(max_length=100)  
    
    
    class County(models.Model, NameAsReprMixin): 
        state = models.ForeignKey(State) 
        name = models.CharField(max_length=100) 
    
    
    class City(models.Model, NameAsReprMixin): 
        county = models.ForeignKey(County) 
        name = models.CharField(max_length=100) 
    
    
    class Buyer(models.Model, NameAsReprMixin): 
        name = models.CharField(max_length= 50) 
        state = models.ForeignKey(State, related_name="buyers", null=True) 
        city = models.ForeignKey(City, related_name="buyers", null=True) 
        phone_number = models.CharField(max_length=15) 
        email = models.EmailField(max_length= 50) 
        notes = models.CharField(max_length=200) 
    

    その後:

    # all city buyers 
    City.object.get(...).buyers.all() 
    
    # all state byuers 
    State.object.get(...).buyers.all() 
    
  • +0

    お兄さんありがとう、 今、私はこのエラー、任意のアイデアを得る? http://i67.tinypic.com/24eddu0.png ヘルプ! –

    +0

    @JesusRoblesコードとスタックトレースでgistを使用するために、固定コード(私はメモリから書き出していました)、btwを試してください。 – Jerzyk

    関連する問題