2016-07-31 17 views
0

私はプロジェクトで都市間に価格を格納する方法を理解しようとしていますので、快適に作業でき、管理者はその価格を快適に変更できます。中間テーブルを持つ多対多フィールドは対称であってはならない

私はRideと呼ばれるこのANSWERに従ってthroughモデルを作成することに決めました。

しかし、私はmakemigrationsを行う際に、Djangoは返されます。

va_app.City.rides:(fields.E332)中間テーブルと多対多のフィールドは対称的であってはなりません。

class City(models.Model): 
    name = models.CharField(max_length=80) 
    country = models.ForeignKey('Country') 
    _close_cities = models.ManyToManyField('City', blank=True, related_name='close_cities_set',symmetrical=True) 
    rides = models.ManyToManyField('self',through='Ride') 

class Ride(models.Model): 
    price = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True) 

あなたはそれを動作させる方法を知っていますか?

PS>私が望む唯一のことは、価格(のようなCity.price(City)または何か他のものと管理者が価格を変更することができるように簡単にアクセスできるようにすることです。

答えて

0

エラーは、M2Mを持つことができないかなり明確ですintermediateテーブルとsymmetrical=Trueとの関係、それはsymmetrical=Falseでなければなりません

そうで試してみてください。しかし、私はあなたが2を持って、何かがあなたのモデル構造と間違っていると思う

rides = models.ManyToManyField('self', through='Ride', symmetrical=False) 

M2Mフィールドがselfを指していますか?私はRidesモデルの目的が何であるか分かりませんが、おそらくこのモデルはFKsからcityまでしか持っていないはずです。

関連する問題