我对django的M2M有点困惑,我有以下问题:
每个用户都可以拥有太多的技能,而每一个技能的用户都要选择体验的时间。我的意思是,django -1年,Heroku-3年,就像这样,我如何在django实现这一点?
我的模特:
class Specialities(models.Model):
name = models.CharField(max_length=100)
def __unicode__(self):
return self.name
class Experience(models.Model):
specialities = models.ManyToManyField('self',through='RegisterProfessional',symmetrical = False)
years = models.CharField(max_length=100)
def __unicode__(self):
return self.years
class RegisterProfessional(models.Model):
id_document = models.OneToOneField(User)
specialities = models.ForeignKey(Specialities)
anios = models.ForeignKey(Experience)我怎样才能修正我的模型来达到这个目的呢?
发布于 2016-03-31 21:07:43
我会尽量简化:
class Speciality(models.Model):
name = models.CharField(max_length=100)
def __unicode__(self):
return self.name
class User(models.Model):
specialities = models.ManyToManyField('self',through='RegisterProfessional',symmetrical = False)
class RegisterProfessional(models.Model):
id_document = models.ForeignKey(User)
speciality = models.ForeignKey(Speciality)
years = models.CharField(max_length=100)
class Meta(object):
unique_together = ('id_document', 'speciality')对于用户来说,如果您指的是django身份验证用户,有一种很容易扩展的方法。可以直接向User模型添加特长。
https://stackoverflow.com/questions/36343242
复制相似问题