2016-11-30 8 views
0

私はDjangoを初めて使い、問題が発生しました: ユーザーがカスタムモデル "UserGroup"にアタッチできるWebサイトを準備しようとしています.group)ので、それらはManyToManyField関係のメンバーになります。しかし、彼らが他のグループにリンクしているかどうかにかかわらず、これらのグループに情報を追加したいと思います。そのようなことをどうやって行えるでしょうかモデルを定義している間にDjango、ManyToManyField(モデル)

related_groups = models.ManyToManyField('UserGroup', blank=True) 

しかし、どうやら私はこの方法は、私は移行中にいくつかの問題を得ていることを行うことができません:私はUserGroupに定義で、ここのようにこれを実行しようとした

django.core.exceptions.FieldDoesNotExist: UserGroup_related_groups has no field named 'from_usergroup "

私はそれが誤った考え方のせいかもしれないと思う。事前に助けてくれてありがとう! :)

+0

を投稿してください。 –

+0

**(a)**はモデル全体を1つのフィールドだけでなく** **(b)**で示します。 * "他のグループにリンクしているかどうかにかかわらず、これらのグループに情報を追加する" * - これはどういう意味ですか? – yuvi

+0

@KlausD。確かに、ここに全体モデル(少なくともプロトタイプ)があります: https://codeshare.io/GLOdpa – szopenak

答えて

0
  1. ユーザーグループには間違ったクラス名が使用されています。正しい名前はグループ
  2. です。OneToOneフィールドを使用する必要があります。

だからあなたのようなもの書く必要があります。

related_groups = models.OneToOneField('Group', blank=True) 

をそして前にグループのモデルをインポートすることを忘れないでください!

from django.contrib.auth.models import Group 

P.S. これを行うには2通りの方法があります: 1)独自のクラス(ExtGroupなど)を作成し、OneToOneFieldを元のグループクラスにする。あなたはおそらくこのように行こうとしていました。 2)独自のユーザークラスとグループクラスを使用します。ここで

は、それぞれの方法について本当に素敵なドキュメントです:https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#extending-the-existing-user-model

そして、ここでは同じ質問に対する答えです:Customize Django Group Model

はそれが役に立てば幸い;)あなたがいることを示すために

+0

#yestemaはい、私は組み込みのグループについて知っていますが、私の状況が良い使用法であるかどうかはわかりませんそのために:私は、モデレータ、管理者、プロユーザーなどのような小さな品揃えだと思います。独立したモデルとして多くのカスタマイズされたグループを作りたいと思っています。私が現在抱えている問題は、関連するモデルを一緒にリンクする方法です。私はあなたがまだ助けたいと思えば、全体モデルの上に投稿しました、そこを見てください:) – szopenak

0

使用「自己」同じクラスにリンクしています。

related_groups = models.ManyToManyField("self", blank=True)

この中で示唆したように、すべてのエラーを再現するために必要なコードと完全なエラートレースバックを提供してくださいDjango Many-to-Many (m2m) Relation to same model

+0

ありがとう!それは私の状況です。しかし、まだ**エラーメッセージが表示されます** ...私は 'related_groups = models.ManyToManyField(" self "、blank = True)' に回線を切り替えました。マイグレーションを入力した直後: https://codeshare.io/5O6gx2 – szopenak

+0

どのようなDjangoのバージョンを使用していますか? –

+0

私はdbと各マイグレーションファイルを削除しました。もう一度初期化しようとしました - マイグレーションはスムーズに実行されましたが、adminパネルからUserGroupを追加する際に再びクラッシュしました... https://codeshare.io/2jPnPa 私はdjango 1.10.3バージョン。 – szopenak

関連する問題