วิธีรับความสัมพันธ์ร่วมกันระหว่างผู้ใช้ในฟิลด์ Django ManyToMany

ขออภัย ฉันเขียนคำถามนี้จากมือถือ ดังนั้นจึงไม่สามารถให้รหัสจริงได้

ฉันมีรูปแบบความสัมพันธ์ที่มีการติดตามหลายต่อมากกับผู้ติดตามชื่อที่เกี่ยวข้อง

ฉันต้องการเขียนฟังก์ชันตัวจัดการโมเดลที่ส่งคืนความสัมพันธ์ร่วมกันทั้งหมดซึ่งก็คือคนที่ฉันติดตามซึ่งเป็นผู้ติดตามของฉัน


person Lewis Wedmore    schedule 01.11.2017    source แหล่งที่มา


คำตอบ (1)


สมมติว่าคุณมีโมเดลเช่นนี้:

class Profile(models.Model):
    following = models.ManyToManyField('Profile', related_name='followed_by')

วัตถุ Profile ที่กำหนด p จะเข้าถึงผู้ติดตามทั้งหมดผ่าน p.following.all() มันจะเข้าถึงโปรไฟล์ทั้งหมดที่ตามมาจนถึง p.followed_by.all()

ด้วยเหตุนี้ คุณสามารถเข้าถึงโปรไฟล์ทั้งหมด p ที่ติดตาม p ด้วย:

p.following.filter( id__in = p.followed_by.all() )
person souldeux    schedule 01.11.2017
comment
ขอบคุณมาก _in เพิ่งผ่านไปในใจของฉันขอบคุณอีกครั้ง - person Lewis Wedmore; 01.11.2017