Django entry 关联关系

class Position(models.Model):
name = models.CharField(max_length=32, verbose_name=’岗位名称’)
description = models.CharField(max_length=64, verbose_name=’岗位描述’, null=True)
class Meta:
ordering = [‘-id’]#id降序排列
verbose_name = ‘岗位’
verbose_name_plural = verbose_name
def unicode(self):
return self.name + str(self.id)

class Person(models.Model):

name = models.CharField(max_length=32, verbose_name='姓名')
sex = models.CharField(max_length=2, default='女', verbose_name='性别')
description = models.CharField(max_length=64, verbose_name='描述') #manyToOne
position = models.ForeignKey(Position, related_name='position_id')

class Meta:
    ordering = ['name','id']#admin显示排序 默认升序 属性前加- 降序
    verbose_name = '人员'
    verbose_name_plural = verbose_name

def __unicode__(self):
    return self.name + str(self.id)

class PersonAdmin(admin.ModelAdmin):
list_display = (‘name’, ‘sex’, ‘description’)#person model 在admin列表展示的属性

class PositionAdmin(admin.ModelAdmin):
list_display = (‘name’, ‘description’)

class User(models.Model):

fullname = models.CharField(max_length=32, blank=False, verbose_name='中文名称')# blank false 不允许为null
username = models.CharField(max_length=32, blank=False, unique= True, verbose_name='英文名称')
email = models.CharField(max_length=64, blank=True, verbose_name='邮箱')
mobile = models.CharField(max_length=32, blank=True, verbose_name='联系方式')

class Meta:
    ordering = ['fullname']
    verbose_name = '用户'
    verbose_name_plural = verbose_name

class UserAdmin(admin.ModelAdmin):
list_display = (‘fullname’, ‘username’, ‘email’, ‘mobile’)

class Role(models.Model):

name = models.CharField(max_length=32, blank=False)
nameEn = models.CharField(max_length=32, unique=True)
createTime = models.DateField(default=timezone.now)
users = models.ManyToManyField(User, through='UserRole') #中间表

class Meta:
    ordering = ['createTime']
    verbose_name = '角色'

class RoleAdmin(admin.ModelAdmin):
list_display = (‘name’,’nameEn’, ‘createTime’)

class UserRole(models.Model):

user = models.ForeignKey(User)
role = models.ForeignKey(Role)
createTime = models.DateField(auto_now=True, blank=False)

猜你喜欢

转载自blog.csdn.net/lkw411526/article/details/51686153