1 回答

交互式愛情
TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
Django可以獲取一個(gè)model里字段定義的屬性:
User._meta.get_field_by_name('username')
返回的是tuple,所以沒法修改
數(shù)據(jù)庫中有一數(shù)據(jù)表table_a,且該表沒有主鍵也無唯一鍵,有一列row1數(shù)據(jù)都是不同的(沒有唯一鍵),對(duì)應(yīng)的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中對(duì)應(yīng)的model設(shè)置row1為主鍵,一切正常
如果row1有重復(fù)數(shù)據(jù),model在過濾的時(shí)候去重,使用model一切正常
objs = TableA.objects.filter(Q('取出row1中的重復(fù)項(xiàng)'))
如果要操作那些重復(fù)項(xiàng)(只有row1中的數(shù)據(jù)是重復(fù)的),但這些重復(fù)項(xiàng)中row2和row3的數(shù)據(jù)都是不同的
如果能動(dòng)態(tài)設(shè)置model字段屬性就都解決了
當(dāng)然直接用sql也可以
User._meta.get_field_by_name('username')
返回的是tuple,所以沒法修改
數(shù)據(jù)庫中有一數(shù)據(jù)表table_a,且該表沒有主鍵也無唯一鍵,有一列row1數(shù)據(jù)都是不同的(沒有唯一鍵),對(duì)應(yīng)的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中對(duì)應(yīng)的model設(shè)置row1為主鍵,一切正常
如果row1有重復(fù)數(shù)據(jù),model在過濾的時(shí)候去重,使用model一切正常
objs = TableA.objects.filter(Q('取出row1中的重復(fù)項(xiàng)'))
如果要操作那些重復(fù)項(xiàng)(只有row1中的數(shù)據(jù)是重復(fù)的),但這些重復(fù)項(xiàng)中row2和row3的數(shù)據(jù)都是不同的
如果能動(dòng)態(tài)設(shè)置model字段屬性就都解決了
當(dāng)然直接用sql也可以
- 1 回答
- 0 關(guān)注
- 1062 瀏覽
添加回答
舉報(bào)
0/150
提交
取消