Friendshipsオブジェクトをフィルタリングしてからorder_by user.first_nameをフィルタリングしようとしていますが、機能しません。誰かが私が間違っていることを教えてもらえますか?Djangoでは、テーブルにまたがるときにorder_by()をどうやって使うのですか?
は、ここに私のモデルです:
class Friendships(models.Model):
user = models.ForeignKey('Users', models.DO_NOTHING, related_name="usersfriend")
friend = models.ForeignKey('Users', models.DO_NOTHING, related_name ="friendsfriend")
created_at = models.DateTimeField(blank=True, null=True)
updated_at = models.DateTimeField(blank=True, null=True)
class Meta:
managed = False
db_table = 'friendships'
class Users(models.Model):
first_name = models.CharField(max_length=45, blank=True, null=True)
last_name = models.CharField(max_length=45, blank=True, null=True)
created_at = models.DateTimeField(blank=True, null=True)
updated_at = models.DateTimeField(blank=True, null=True)
class Meta:
managed = False
db_table = 'users'
私のクエリは私に必要な友情を返しますが、順序が正しくないとされ、次のようです。私は、異なる組み合わせと例の数を試みたが、ちょうど私が正しく理解していないよ何かわからないしました:
私のコントローラで私のクエリ:私は数を試した
ordered_friends = Friendships.objects.filter(user__id=1).order_by('user__first_name')
for ordered_friend in ordered_friends:
print ordered_friend.friend.first_name, ordered_friend.friend.last_name
注意を、 user__first_name
の代わりの組み合わせと私はこれが私が失敗していることを知っています。
+ e4c5 - 私のORD文で...私は '.order_by(「FRIEND_FIRST_NAME」)を意味し、'私ができるように*あなたは、私が*間違った列の値によって順序付けられmistakinglyことを完全に正しいです、ありがとう友人による並べ替え。あなたはこれがどんなに大きな助けになったのか分かりません。最後にあなたの想いを含めて、あなたの完全な反応にとても感謝しています(あなたはそれを見つけてください)! // edit:私は二重のアンダースコア '.order_by( ' __ ')'が取っていたことを確認するのに苦労しましたが、間違った列を探しているのを見逃しました:) –
natureminded
ヘルプ – e4c5