rob*_*s85 3 django django-models django-orm
模型:
class Province(models.Model):
user = models.ManyToManyField(User, blank=True)
name = models.CharField(max_length=30, unique=True)
class City(models.Model):
name = models.CharField(max_length=100, unique=True)
slug = models.SlugField(max_length=100, editable=False, unique=False)
ownership = models.ManyToManyField(User, through='UserCity')
class UserCity(models.Model):
user = models.ForeignKey(User)
province = models.ForeignKey(Province)
city = models.ForeignKey(City)
class District(models.Model):
name = models.CharField(max_length=100, unique=True)
slug = models.SlugField(max_length=100, unique=True, editable=False)
ownership = models.ManyToManyField(User, through='UserDistrict')
class UserDistrict(models.Model):
user = models.ForeignKey(User)
province = models.ForeignKey(Province)
city = models.ForeignKey(City)
district = models.ForeignKey(District)
Run Code Online (Sandbox Code Playgroud)
当我知道user_id和province_id时,如何删除关系?如果我用户delete()方法它也删除省,我想避免它.我找不到任何地方如何删除m2m字段中的1个特定关系.
Yuj*_*ita 10
在ManyToMany管理器上使用remove方法.
Province.objects.get(id=3).user.remove(user_id)
Run Code Online (Sandbox Code Playgroud)
如果您愿意,也可以直接访问直通表:
Province.user.through.objects.get(province__id=3, user__id=4).delete()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3755 次 |
| 最近记录: |