orm fix when use uint as pk

This commit is contained in:
slene
2013-08-30 12:32:05 +08:00
parent dc8f932009
commit 8f5ca303b5
6 changed files with 118 additions and 68 deletions

View File

@@ -10,7 +10,11 @@ func getExistPk(mi *modelInfo, ind reflect.Value) (column string, value interfac
fi := mi.fields.pk
v := ind.Field(fi.fieldIndex)
if fi.fieldType&IsIntegerField > 0 {
if fi.fieldType&IsPostiveIntegerField > 0 {
vu := v.Uint()
exist = vu > 0
value = vu
} else if fi.fieldType&IsIntegerField > 0 {
vu := v.Int()
exist = vu > 0
value = vu