Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
beego
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
go
beego
Commits
001e33f3
Commit
001e33f3
authored
Sep 22, 2013
by
slene
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix #213
parent
09aca252
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
2 deletions
+17
-2
db.go
orm/db.go
+5
-2
models_info_m.go
orm/models_info_m.go
+1
-0
orm_test.go
orm/orm_test.go
+11
-0
No files found.
orm/db.go
View file @
001e33f3
...
@@ -649,9 +649,12 @@ func (d *dbBase) ReadBatch(q dbQuerier, qs *querySet, mi *modelInfo, cond *Condi
...
@@ -649,9 +649,12 @@ func (d *dbBase) ReadBatch(q dbQuerier, qs *querySet, mi *modelInfo, cond *Condi
if
field
.
IsValid
()
{
if
field
.
IsValid
()
{
d
.
setColsValues
(
mmi
,
&
field
,
mmi
.
fields
.
dbcols
,
trefs
[
:
len
(
mmi
.
fields
.
dbcols
)],
tz
)
d
.
setColsValues
(
mmi
,
&
field
,
mmi
.
fields
.
dbcols
,
trefs
[
:
len
(
mmi
.
fields
.
dbcols
)],
tz
)
for
_
,
fi
:=
range
mmi
.
fields
.
fieldsReverse
{
for
_
,
fi
:=
range
mmi
.
fields
.
fieldsReverse
{
if
fi
.
reverseFieldInfo
.
mi
==
lastm
{
if
fi
.
inModel
&&
fi
.
reverseFieldInfo
.
mi
==
lastm
{
if
fi
.
reverseFieldInfo
!=
nil
{
if
fi
.
reverseFieldInfo
!=
nil
{
field
.
Field
(
fi
.
fieldIndex
)
.
Set
(
last
.
Addr
())
f
:=
field
.
Field
(
fi
.
fieldIndex
)
if
f
.
Kind
()
==
reflect
.
Ptr
{
f
.
Set
(
last
.
Addr
())
}
}
}
}
}
}
}
...
...
orm/models_info_m.go
View file @
001e33f3
...
@@ -66,6 +66,7 @@ func newModelInfo(val reflect.Value) (info *modelInfo) {
...
@@ -66,6 +66,7 @@ func newModelInfo(val reflect.Value) (info *modelInfo) {
fi
.
fieldIndex
=
i
fi
.
fieldIndex
=
i
fi
.
mi
=
info
fi
.
mi
=
info
fi
.
inModel
=
true
}
}
if
err
!=
nil
{
if
err
!=
nil
{
...
...
orm/orm_test.go
View file @
001e33f3
...
@@ -745,6 +745,17 @@ func TestRelatedSel(t *testing.T) {
...
@@ -745,6 +745,17 @@ func TestRelatedSel(t *testing.T) {
num
,
err
=
qs
.
Filter
(
"user__username"
,
"slene"
)
.
Count
()
num
,
err
=
qs
.
Filter
(
"user__username"
,
"slene"
)
.
Count
()
throwFail
(
t
,
err
)
throwFail
(
t
,
err
)
throwFail
(
t
,
AssertIs
(
num
,
1
))
throwFail
(
t
,
AssertIs
(
num
,
1
))
var
posts
[]
*
Post
qs
=
dORM
.
QueryTable
(
"post"
)
num
,
err
=
qs
.
RelatedSel
()
.
All
(
&
posts
)
throwFail
(
t
,
err
)
throwFailNow
(
t
,
AssertIs
(
num
,
4
))
throwFailNow
(
t
,
AssertIs
(
posts
[
0
]
.
User
.
UserName
,
"slene"
))
throwFailNow
(
t
,
AssertIs
(
posts
[
1
]
.
User
.
UserName
,
"astaxie"
))
throwFailNow
(
t
,
AssertIs
(
posts
[
2
]
.
User
.
UserName
,
"astaxie"
))
throwFailNow
(
t
,
AssertIs
(
posts
[
3
]
.
User
.
UserName
,
"nobody"
))
}
}
func
TestSetCond
(
t
*
testing
.
T
)
{
func
TestSetCond
(
t
*
testing
.
T
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment