1
これは本当にシンプルなはずです。伝統的なSQLを考えずにDjangoのモデルを手に入れることができます。2つの外部キーのみでモデルにアクセスする方法は?
私は、多くの関係に多くを作成するには、2つの外部キーを持つモデルを持っている - 私は「短い」などのカテゴリを照会したいジャンゴ
に私は多くの分野に多くを使用していないclass Story(models.Model):
title = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.title
class Category(models.Model):
categoryText = models.CharField(max_length=50)
parentCat = models.ForeignKey('self',null=True,blank=True)
def __unicode__(self):
return self.categoryText
class StoryCat(models.Model):
story = models.ForeignKey(Poll,null=True,blank=True)
category = models.ForeignKey(Category,null=True,blank=True)
def __unicode__(self):
return self.story
をし、返されたすべてのストーリーに固有のキーをすべて取得します。
C = Category.objects.get(categoryText = '短い')
S = StoryCat.objects.get(カテゴリ= C)
私はこれを試すと、複数の行が返されたというエラーが発生します。私は実際にid値を取得したいだけですが、これを行う方法を理解できないようです。
返されるID値はどのようにして取得できますか?
FWIWを、一般的な表記法フィールド名は 'categoryText'ではなく' category_text'のようにアンダースコアを使用します。[PEP8](http://www.python.org/dev/peps/pep-0008/)を参照してください。私は、Djangoがアンダースコアをスペースに自動的に変換し、モデルフォームや管理者などのフィールド名を自動生成するときに適切に資本化することができます。私はキャメルケースをどう扱うかはわかりません。運が良かった –