ดังนั้นฉันจึงสร้างฐานข้อมูลที่ฉันจำเป็นต้องมีฟิลด์ที่เกี่ยวข้องกับความสัมพันธ์ ManyToMany เฉพาะ แต่ฉันไม่รู้ว่าจะแปลสิ่งนี้เป็น Django ORM ได้อย่างไร ตัวอย่างเช่น ฉันมี บทความ หลายรายการที่สามารถใช้ร่วมกับ สิ่งพิมพ์ ได้หลายรายการ แต่ฉันต้องการดูว่าบทความใดมีผู้เข้าชมมากที่สุด
ฉันคิดว่าฉันสามารถสร้างฐานข้อมูลได้ดังนี้:
+------------+--------+--------+-------+
| art_pub_id | art_id | pub_id | views |
+------------+--------+--------+-------+
| 101 | 201 | 301 | 6 |
+------------+--------+--------+-------+
| 102 | 201 | 302 | 4 |
+------------+--------+--------+-------+
| 103 | 202 | 301 | 8 |
+------------+--------+--------+-------+
หรือฉันทำสิ่งนี้ได้
+------------+--------+--------+
| art_pub_id | art_id | pub_id |
+------------+--------+--------+
| 101 | 201 | 301 |
+------------+--------+--------+
| 102 | 201 | 302 |
+------------+--------+--------+
| 103 | 202 | 301 |
+------------+--------+--------+
+----+------------+-------+
| pk | art_pub_id | views |
+----+------------+-------+
| 1 | 101 | 6 |
+----+------------+-------+
| 2 | 102 | 4 |
+----+------------+-------+
| 3 | 103 | 8 |
+----+------------+-------+
ฉันกำลังดิ้นรนกับวิธีการแปลสิ่งนี้เป็น Django ORM ฉันมีบทความที่มี ManyToManyField ชี้ไปที่สิ่งพิมพ์ แต่ฉันไม่รู้ว่าจะวางมุมมอง IntegerField ไว้ที่ไหนหรืออย่างไร ฉันได้ลองใช้คลาส Publication_Article ที่มีฟิลด์ ManyToMany สองฟิลด์และฟิลด์มุมมองของฉัน แต่ฉันไม่แน่ใจว่านั่นเป็นวิธีที่ถูกต้องที่จะทำ
ฉันยังตระหนักดีว่าฉันอาจประสบปัญหากับการออกแบบฐานข้อมูลของฉันอย่างไม่ถูกต้อง ซึ่งในกรณีนี้การรู้วิธีที่ดีที่สุดในการทำเช่นนี้จะมีค่าสำหรับฉัน