คำถามติดแท็ก many-to-many

ประเภทของความสัมพันธ์ระหว่างเอนทิตีประเภท A และ B ซึ่งเชื่อมโยงรายการของเอนทิตีประเภท B กับเอนทิตีประเภท A และในทางกลับกัน ประเภท A และ B อาจเป็นประเภทเดียวกัน

5
`related_name` ใช้สำหรับอะไรใน Django
อะไรคือrelated_nameข้อโต้แย้งที่เป็นประโยชน์สำหรับบนManyToManyFieldและForeignKeyเขต? ตัวอย่างเช่นเมื่อได้รับรหัสต่อไปนี้จะเกิดผลrelated_name='maps'อะไร? class Map(db.Model): members = models.ManyToManyField(User, related_name='maps', verbose_name=_('members'))

6
สร้างรหัสก่อนมากถึงมากด้วยฟิลด์เพิ่มเติมในตารางการเชื่อมโยง
ฉันมีสถานการณ์นี้: public class Member { public int MemberID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public virtual ICollection<Comment> Comments { get; set; } } public class Comment { public int CommentID { get; set; } public string Message { …

5
Rails find_or_create_by มากกว่าหนึ่งคุณลักษณะ?
มีแอตทริบิวต์แบบไดนามิกที่มีประโยชน์ในบันทึกที่ใช้งานที่เรียกว่า find_or_create_by: Model.find_or_create_by_<attribute>(:<attribute> => "") แต่ถ้าฉันต้องการ find_or_create ด้วยแอตทริบิวต์มากกว่าหนึ่งรายการล่ะ ว่าฉันมีรูปแบบการจัดการความสัมพันธ์ M: M ระหว่างกลุ่มและสมาชิกที่เรียกว่า GroupMember ฉันสามารถมีหลายกรณีที่ member_id = 4 แต่ฉันไม่ต้องการมากกว่าหนึ่งครั้งที่ member_id = 4 และ group_id = 7 ฉันกำลังพยายามหาว่าเป็นไปได้ไหมที่จะทำสิ่งนี้: GroupMember.find_or_create(:member_id => 4, :group_id => 7) ฉันรู้ว่าอาจมีวิธีที่ดีกว่าในการจัดการกับสิ่งนี้ แต่ฉันชอบความสะดวกสบายของแนวคิดของ find_or_create

1
ฉันจะทำให้ฟิลด์หลายต่อหลายตัวเลือกใน Django ได้อย่างไร
เมื่อคุณมีความสัมพันธ์หลายต่อหลายคน ( related_nameไม่ใช่through) และคุณกำลังพยายามใช้ส่วนต่อประสานผู้ดูแลระบบคุณจะต้องป้อนหนึ่งในความสัมพันธ์แม้ว่าคุณจะไม่จำเป็นต้องสร้างรายการแรก ฉันกำลังสร้างแอพที่เป็นผู้จัดงาน ลองนึกภาพเรามีEventและGroupแบบจำลองที่ผูกพันกับความสัมพันธ์แบบหลายต่อหลายคน Django related_nameสร้างตารางอื่นด้วยดัชนีของอีกสองตาราง แต่ฉันเห็นเหตุผลว่าทำไมโต๊ะพิเศษนี้ได้ที่จะมีประชากร ถ้าฉันทำงานกับฐานข้อมูลผ่าน phpMyAdmin ฉันสามารถสร้างได้Groupโดยไม่ต้องลงทะเบียนEventเนื่องจากการเชื่อมต่อระหว่างทั้งสองจะผ่านตารางแยกต่างหากเท่านั้นและไม่มีการบังคับใช้ค่าฐานข้อมูลในระดับที่กำหนด ฉันจะทำให้อินเทอร์เฟซผู้ดูแลระบบรู้ได้อย่างไร ฉันจะสร้างฟิลด์จำนวนมากต่อกลุ่มใน Django ได้อย่างไร

8
ความแตกต่างระหว่างหนึ่งต่อหลายหลายต่อหนึ่งและหลายต่อหลายคน?
ตกลงดังนั้นนี่อาจเป็นคำถามเล็กน้อย แต่ฉันมีปัญหาในการมองเห็นและเข้าใจความแตกต่างและเวลาที่จะใช้แต่ละครั้ง ฉันยังไม่ชัดเจนว่าแนวคิดเช่นการแมปแบบทิศทางเดียวและแบบสองทิศทางมีผลต่อความสัมพันธ์แบบหนึ่งต่อหลาย / หลายต่อหลายครั้งอย่างไร ฉันกำลังใช้ Hibernate อยู่ตอนนี้ดังนั้นคำอธิบายใด ๆ ที่เกี่ยวข้องกับ ORM จะเป็นประโยชน์ ตัวอย่างเช่นสมมติว่าฉันมีการตั้งค่าต่อไปนี้: public class Person{ private Long personId; private Set<Skill> skills; //Getters and setters } public class Skill{ private Long skillId; private String skillName; //Getters and setters } ดังนั้นในกรณีนี้ฉันจะมีการทำแผนที่แบบไหน? คำตอบสำหรับตัวอย่างเฉพาะนี้ได้รับการชื่นชมอย่างแน่นอน แต่ฉันก็อยากจะเห็นภาพรวมของเวลาที่จะใช้แบบตัวต่อตัวและแบบตัวต่อตัวและเมื่อใดที่จะใช้ตารางการเข้าร่วมกับคอลัมน์การเข้าร่วมและทิศทางเดียวกับแบบสองทิศทาง

4
MongoDB หลายต่อหลายสมาคม
คุณจะทำความสัมพันธ์แบบกลุ่มต่อกลุ่มกับ MongoDB ได้อย่างไร? ตัวอย่างเช่น; สมมติว่าคุณมีตารางผู้ใช้และตารางบทบาท ผู้ใช้มีหลายบทบาทและบทบาทมีผู้ใช้หลายคน ใน SQL land คุณจะสร้างตาราง UserRoles Users: Id Name Roles: Id Name UserRoles: UserId RoleId ความสัมพันธ์แบบเดียวกันนั้นจัดการกับ MongoDB อย่างไร


3
การแม็พตารางการเชื่อมโยงแบบกลุ่มต่อกลุ่มด้วยคอลัมน์พิเศษ
ฐานข้อมูลของฉันมี 3 ตาราง: เอนทิตีผู้ใช้และบริการมีความสัมพันธ์แบบกลุ่มต่อกลุ่มและเข้าร่วมกับตาราง SERVICE_USER ดังนี้: ผู้ใช้ - SERVICE_USER - บริการ ตาราง SERVICE_USER มีคอลัมน์ BLOCKED เพิ่มเติม วิธีใดที่ดีที่สุดในการทำแผนที่ดังกล่าว นี่คือคลาสเอนทิตีของฉัน @Entity @Table(name = "USERS") public class User implements java.io.Serializable { private String userid; private String email; @Id @Column(name = "USERID", unique = true, nullable = false,) public String getUserid() { return this.userid; …

5
SQL - คีย์หลักของตารางหลายต่อหลายตาราง
คำถามนี้เกิดขึ้นหลังจากอ่านความคิดเห็นในคำถามนี้: การออกแบบฐานข้อมูล เมื่อคุณสร้างตารางแบบกลุ่มต่อกลุ่มคุณควรสร้างคีย์หลักแบบผสมในคอลัมน์คีย์นอกสองคอลัมน์หรือสร้างคีย์หลัก "ID" ตัวแทน "ที่เพิ่มขึ้นอัตโนมัติ" และใส่ดัชนีในคอลัมน์ FK สองคอลัมน์ของคุณ (และอาจ ข้อ จำกัด เฉพาะ)? อะไรคือผลกระทบต่อประสิทธิภาพในการแทรกระเบียนใหม่ / การจัดทำดัชนีใหม่ในแต่ละกรณี? โดยทั่วไปสิ่งนี้: PartDevice ---------- PartID (PK/FK) DeviceID (PK/FK) เทียบกับสิ่งนี้: PartDevice ---------- ID (PK/auto-increment) PartID (FK) DeviceID (FK) ผู้แสดงความคิดเห็นกล่าวว่า: การทำให้สอง ID เป็น PK หมายถึงตารางถูกเรียงลำดับทางกายภาพบนดิสก์ตามลำดับนั้น ดังนั้นหากเราแทรก (Part1 / Device1), (Part1 / Device2), (Part2 / Device3) ดังนั้น (Part …

3
Django ลบวัตถุออกจากความสัมพันธ์ ManyToMany
ฉันจะลบวัตถุออกจากความสัมพันธ์แบบกลุ่มต่อกลุ่มโดยไม่ลบวัตถุจริงได้อย่างไร ตัวอย่าง: ฉันมีแบบจำลองMoodsและInterest. Moodมีฟิลด์แบบกลุ่มต่อกลุ่มinterests(ซึ่งเป็นกmodels.ManyToManyField(Interest)) ฉันจะสร้างตัวอย่างของที่เรียกว่าMoods my_moodในmy_moodsสาขาความสนใจของฉันมีmy_interestความหมาย >>> my_mood.interests.all() [my_interest, ...] ฉันจะลบวิธีmy_interestจากmy_moodโดยไม่ต้องลบเช่นรูปแบบการอย่างใดอย่างหนึ่ง? กล่าวอีกนัยหนึ่งฉันจะลบความสัมพันธ์โดยไม่ส่งผลกระทบต่อโมเดลที่เกี่ยวข้องได้อย่างไร

5
แทรก / อัปเดตหลาย ๆ เอนทิตีกรอบงาน ฉันต้องทำอย่างไร?
ฉันใช้ EF4 และเป็นมือใหม่ ฉันมีโปรเจ็กต์หลายรายการและหลายรายการและดูเหมือนจะหาวิธีแทรกหรืออัปเดตไม่ได้ ฉันได้สร้างโครงการเล็ก ๆ เพื่อดูว่าควรจะเขียนโค้ดอย่างไร สมมติว่าฉันมี 3 โต๊ะ คลาส: ClassID-ClassName นักเรียน: StudentID-FirstName - นามสกุล StudentClass: StudentID-ClassID หลังจากเพิ่มความสัมพันธ์ทั้งหมดและอัปเดตโมเดลผ่านเบราว์เซอร์โมเดลฉันสังเกตเห็นว่า StudentClass ไม่ปรากฏขึ้นดูเหมือนว่าจะเป็นพฤติกรรมเริ่มต้น ตอนนี้ฉันต้องทำทั้งส่วนแทรกและอัปเดต คุณจะทำอย่างไรมันได้หรือไม่? ตัวอย่างโค้ดหรือลิงค์ใด ๆ ที่ฉันสามารถดาวน์โหลดตัวอย่างได้หรือคุณสามารถเผื่อเวลาไว้ 5 นาทีได้หรือไม่?

1
จะใช้ความสัมพันธ์แบบกลุ่มต่อกลุ่มใน PostgreSQL ได้อย่างไร
ฉันเชื่อว่าชื่อเรื่องนี้อธิบายได้ในตัวเอง คุณสร้างโครงสร้างตารางใน PostgreSQL เพื่อสร้างความสัมพันธ์แบบกลุ่มต่อกลุ่มได้อย่างไร ตัวอย่างของฉัน: Product(name, price); Bill(name, date, Products);

4
Django กรองแบบกลุ่มต่อกลุ่มด้วยประกอบด้วย
ฉันพยายามกรองวัตถุจำนวนมากผ่านความสัมพันธ์แบบกลุ่มต่อกลุ่ม เนื่องจากtrigger_rolesช่องอาจมีหลายรายการฉันจึงลองใช้containsตัวกรอง แต่ตามที่ออกแบบมาเพื่อใช้กับสตริงฉันค่อนข้างทำอะไรไม่ถูกเลยว่าฉันควรกรองความสัมพันธ์นี้อย่างไร (คุณสามารถเพิกเฉยต่อvalues_list()atm ได้) ฟังก์ชันนี้แนบกับโปรไฟล์ผู้ใช้: def getVisiblePackages(self): visiblePackages = {} for product in self.products.all(): moduleDict = {} for module in product.module_set.all(): pkgList = [] involvedStatus = module.workflow_set.filter(trigger_roles__contains=self.role.id,allowed=True).values_list('current_state', flat=True) โมเดลเวิร์กโฟลว์ของฉันมีลักษณะดังนี้ (แบบง่าย): class Workflow(models.Model): module = models.ForeignKey(Module) current_state = models.ForeignKey(Status) next_state = models.ForeignKey(Status) allowed = models.BooleanField(default=False) involved_roles = models.ManyToManyField(Role, blank=True, null=True) …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.