如何实现Django动态修改model字段定义属性
展开全部
Django可以获取一个model里字段定义的属性:
User._meta.get_field_by_name('username')
返回的是tuple,所以没法修改
数据库中有一数据表table_a,且该表没有主键也无唯一键,有一列row1数据都是不同的(没有唯一键),对应的django中的model为:
class TableA(models.Model):
row1 = models.CharField(primary_key=True, max_length=36)
row2 = models.CharField(max_length=36)
row3 = models.CharField(max_length=36)
class Meta:
db_table = u'table_a'
django中对应的model设置row1为主键,一切正常
如果row1有重复数据,model在过滤的时候去重,使用model一切正常
objs = TableA.objects.filter(Q('取出row1中的重复项'))
如果要操作那些重复项(只有row1中的数据是重复的),但这些重复项中row2和row3的数据都是不同的
如果能动态设置model字段属性就都解决了
当然直接用sql也可以
User._meta.get_field_by_name('username')
返回的是tuple,所以没法修改
数据库中有一数据表table_a,且该表没有主键也无唯一键,有一列row1数据都是不同的(没有唯一键),对应的django中的model为:
class TableA(models.Model):
row1 = models.CharField(primary_key=True, max_length=36)
row2 = models.CharField(max_length=36)
row3 = models.CharField(max_length=36)
class Meta:
db_table = u'table_a'
django中对应的model设置row1为主键,一切正常
如果row1有重复数据,model在过滤的时候去重,使用model一切正常
objs = TableA.objects.filter(Q('取出row1中的重复项'))
如果要操作那些重复项(只有row1中的数据是重复的),但这些重复项中row2和row3的数据都是不同的
如果能动态设置model字段属性就都解决了
当然直接用sql也可以
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询