Tag: 多对多的

如何从django模板访问多对多“through”表的属性?

从Django文档… 当你只处理简单的多对多关系时,比如混合和匹配比萨饼和浇头,一个标准的ManyToManyField就是你所需要的。 但是,有时您可能需要将数据与两个模型之间的关系相关联。 例如,考虑跟踪音乐家所属的音乐组的应用的情况。 一个人和他们所属的小组之间有多对多的关系,所以你可以使用ManyToManyField来表示这种关系。 但是,关于您可能想要收集的会员资格有很多详细信息,例如join该组的人员的date。 对于这些情况,Django允许您指定将用于pipe理多对多关系的模型。 然后可以在中间模型上添加额外的字段。 中间模型使用through参数与ManyToManyField关联,指向将作为中介的模型。 对于我们音乐家的例子,代码看起来像这样: class Person(models.Model): name = models.CharField(max_length=128) def __unicode__(self): return self.name class Group(models.Model): name = models.CharField(max_length=128) members = models.ManyToManyField(Person, through='Membership') def __unicode__(self): return self.name class Membership(models.Model): person = models.ForeignKey(Person) group = models.ForeignKey(Group) date_joined = models.DateField() invite_reason = models.CharField(max_length=64) 现在您已经设置了ManyToManyField来使用您的中介模型(在这种情况下为Membership),您可以开始创build一些多对多的关系。 您可以通过创build中间模型的实例来执行此操作: ringo = Person.objects.create(name="Ringo Starr") paul = Person.objects.create(name="Paul […]

Entity Framework 4.1+多对多关系更改跟踪

如何检测ICollection <>属性(多对多关系)的更改? public class Company { … public virtual ICollection<Employee> Employees { get; set; } } using (DataContext context = new DataContext(Properties.Settings.Default.ConnectionString)) { Company company = context.Companies.First(); company.Employees.Add(context.Employees.First()); context.SaveChanges(); } public class DataContext : DbContext { public override int SaveChanges() { return base.SaveChanges(); // Company's entity state is "Unchanged" in this.ChangeTracker } }

MongoDB多对多关联

你将如何与MongoDB进行多对多的关联? 例如; 假设你有一个Users表和一个Roles表。 用户有很多angular色,angular色有很多用户。 在SQL的土地上,你会创build一个UserRoles表。 Users: Id Name Roles: Id Name UserRoles: UserId RoleId 在MongoDB中如何处理同样的关系?

Symfony2-Doctrine:ManyToMany关系不保存到数据库

我有两个名为Category和Item的PHP模型类。 一个类别可能有许多项目,一个项目可能属于许多类别。 我为这两个类创build了一个ManyToMany关系: class Category { /** * @ORM\ManyToMany(targetEntity="Item", mappedBy="categories", cascade={"persist"}) */ private $items; /** * Add items * * @param Ako\StoreBundle\Entity\Item $items */ public function addItems(\Ako\StoreBundle\Entity\Item $items) { $this->items[] = $items; } /** * Get items * * @return Doctrine\Common\Collections\Collection */ public function getItems() { return $this->items; } } 和: class Item { /** […]

在Django中使用的related_name是什么?

什么是ManyToManyField和ForeignKey字段有用的related_name参数? 例如,给定以下代码, related_name='maps'的效果是什么? class Map(db.Model): members = models.ManyToManyField(User, related_name='maps', verbose_name=_('members'))