"UserBookmark"テーブルの列に値 "tag"が属するデータをフェッチしようとしています。タグモデルを使用してManytoMany関係を作成する
UserBookmark.objects.filter(tag__in = ['Java','Android'])
が、私は私は私のモデルを変更したテーブルで、このクエリに一致するデータ
<QuerySet [<UserBookmark: 21 user12 http://careers.bankofamerica.com/ [u'Java']>,<UserBookmark: 22 user12 http://aehlke.github.io/tag-it/examples.html [u'Data Science,Python']>,<UserBookmark: 23 user13 https://github.com/Azure/azure-quickstart-templates [u'Android']>, <UserBookmark: 24 user14 https://github.com/sunnykrGupta/Bigquery-series [u'Python']>, <UserBookmark: 25 user14 https://github.com/ctfs/write-ups-2017 [u'Data Analytics']>]>
models.py
class UserBookmark(models.Model):
user = models.ForeignKey(User)
bookmark = models.URLField()
tag = models.CharField(max_length = 100)
def __str__(self):
return '%i %s %s %s'%(self.id,self.user,self.bookmark,self.tag)
を持っていないのに対し、これはクエリセット[](空集合)を返します。 py
class UserBookmark(models.Model):
user = models.ForeignKey(User)
bookmark = models.URLField()
tags = models.ManyToManyField('Tag',blank=True)
def __str__(self):
return '%i %s %s'%(self.id,self.user,self.bookmark)
クラスタグ(models.Model):
名= models.CharField(max_lengthを= 100、ユニーク=真)
しかし、私は、Pythonのmanagepyのmakemigrations後に移行manae.pyのpythonを実行すると、I
ValueError:フィールドbookmark.UserBookmark.tagsをbookmark.UserBookmark.tagsに変更することはできません.UserBookmark.tags - 互換性のあるタイプではありません(M2Mフィールドを変更することも、M2Mフィールドを変更することもできません)
ここで何が間違っていますか?
モデルを表示できますか? –
@ClémentDenoixはい質問にmodels.pyを追加しました。 –