1d440181 by slene

orm fix for support custom field

1 parent a4df6e40
...@@ -97,10 +97,6 @@ func (e *BooleanField) RawValue() interface{} { ...@@ -97,10 +97,6 @@ func (e *BooleanField) RawValue() interface{} {
97 return e.Value() 97 return e.Value()
98 } 98 }
99 99
100 func (e *BooleanField) Clean() error {
101 return nil
102 }
103
104 var _ Fielder = new(BooleanField) 100 var _ Fielder = new(BooleanField)
105 101
106 // A string field 102 // A string field
...@@ -139,10 +135,6 @@ func (e *CharField) RawValue() interface{} { ...@@ -139,10 +135,6 @@ func (e *CharField) RawValue() interface{} {
139 return e.Value() 135 return e.Value()
140 } 136 }
141 137
142 func (e *CharField) Clean() error {
143 return nil
144 }
145
146 var _ Fielder = new(CharField) 138 var _ Fielder = new(CharField)
147 139
148 // A date, represented in go by a time.Time instance. 140 // A date, represented in go by a time.Time instance.
...@@ -196,10 +188,6 @@ func (e *DateField) RawValue() interface{} { ...@@ -196,10 +188,6 @@ func (e *DateField) RawValue() interface{} {
196 return e.Value() 188 return e.Value()
197 } 189 }
198 190
199 func (e *DateField) Clean() error {
200 return nil
201 }
202
203 var _ Fielder = new(DateField) 191 var _ Fielder = new(DateField)
204 192
205 // A date, represented in go by a time.Time instance. 193 // A date, represented in go by a time.Time instance.
...@@ -243,10 +231,6 @@ func (e *DateTimeField) RawValue() interface{} { ...@@ -243,10 +231,6 @@ func (e *DateTimeField) RawValue() interface{} {
243 return e.Value() 231 return e.Value()
244 } 232 }
245 233
246 func (e *DateTimeField) Clean() error {
247 return nil
248 }
249
250 var _ Fielder = new(DateTimeField) 234 var _ Fielder = new(DateTimeField)
251 235
252 // A floating-point number represented in go by a float32 value. 236 // A floating-point number represented in go by a float32 value.
...@@ -289,10 +273,6 @@ func (e *FloatField) RawValue() interface{} { ...@@ -289,10 +273,6 @@ func (e *FloatField) RawValue() interface{} {
289 return e.Value() 273 return e.Value()
290 } 274 }
291 275
292 func (e *FloatField) Clean() error {
293 return nil
294 }
295
296 var _ Fielder = new(FloatField) 276 var _ Fielder = new(FloatField)
297 277
298 // -32768 to 32767 278 // -32768 to 32767
...@@ -333,10 +313,6 @@ func (e *SmallIntegerField) RawValue() interface{} { ...@@ -333,10 +313,6 @@ func (e *SmallIntegerField) RawValue() interface{} {
333 return e.Value() 313 return e.Value()
334 } 314 }
335 315
336 func (e *SmallIntegerField) Clean() error {
337 return nil
338 }
339
340 var _ Fielder = new(SmallIntegerField) 316 var _ Fielder = new(SmallIntegerField)
341 317
342 // -2147483648 to 2147483647 318 // -2147483648 to 2147483647
...@@ -377,10 +353,6 @@ func (e *IntegerField) RawValue() interface{} { ...@@ -377,10 +353,6 @@ func (e *IntegerField) RawValue() interface{} {
377 return e.Value() 353 return e.Value()
378 } 354 }
379 355
380 func (e *IntegerField) Clean() error {
381 return nil
382 }
383
384 var _ Fielder = new(IntegerField) 356 var _ Fielder = new(IntegerField)
385 357
386 // -9223372036854775808 to 9223372036854775807. 358 // -9223372036854775808 to 9223372036854775807.
...@@ -421,10 +393,6 @@ func (e *BigIntegerField) RawValue() interface{} { ...@@ -421,10 +393,6 @@ func (e *BigIntegerField) RawValue() interface{} {
421 return e.Value() 393 return e.Value()
422 } 394 }
423 395
424 func (e *BigIntegerField) Clean() error {
425 return nil
426 }
427
428 var _ Fielder = new(BigIntegerField) 396 var _ Fielder = new(BigIntegerField)
429 397
430 // 0 to 65535 398 // 0 to 65535
...@@ -465,10 +433,6 @@ func (e *PositiveSmallIntegerField) RawValue() interface{} { ...@@ -465,10 +433,6 @@ func (e *PositiveSmallIntegerField) RawValue() interface{} {
465 return e.Value() 433 return e.Value()
466 } 434 }
467 435
468 func (e *PositiveSmallIntegerField) Clean() error {
469 return nil
470 }
471
472 var _ Fielder = new(PositiveSmallIntegerField) 436 var _ Fielder = new(PositiveSmallIntegerField)
473 437
474 // 0 to 4294967295 438 // 0 to 4294967295
...@@ -509,10 +473,6 @@ func (e *PositiveIntegerField) RawValue() interface{} { ...@@ -509,10 +473,6 @@ func (e *PositiveIntegerField) RawValue() interface{} {
509 return e.Value() 473 return e.Value()
510 } 474 }
511 475
512 func (e *PositiveIntegerField) Clean() error {
513 return nil
514 }
515
516 var _ Fielder = new(PositiveIntegerField) 476 var _ Fielder = new(PositiveIntegerField)
517 477
518 // 0 to 18446744073709551615 478 // 0 to 18446744073709551615
...@@ -553,10 +513,6 @@ func (e *PositiveBigIntegerField) RawValue() interface{} { ...@@ -553,10 +513,6 @@ func (e *PositiveBigIntegerField) RawValue() interface{} {
553 return e.Value() 513 return e.Value()
554 } 514 }
555 515
556 func (e *PositiveBigIntegerField) Clean() error {
557 return nil
558 }
559
560 var _ Fielder = new(PositiveBigIntegerField) 516 var _ Fielder = new(PositiveBigIntegerField)
561 517
562 // A large text field. 518 // A large text field.
...@@ -592,8 +548,4 @@ func (e *TextField) RawValue() interface{} { ...@@ -592,8 +548,4 @@ func (e *TextField) RawValue() interface{} {
592 return e.Value() 548 return e.Value()
593 } 549 }
594 550
595 func (e *TextField) Clean() error {
596 return nil
597 }
598
599 var _ Fielder = new(TextField) 551 var _ Fielder = new(TextField)
......
...@@ -128,11 +128,15 @@ func newFieldInfo(mi *modelInfo, field reflect.Value, sf reflect.StructField) (f ...@@ -128,11 +128,15 @@ func newFieldInfo(mi *modelInfo, field reflect.Value, sf reflect.StructField) (f
128 128
129 fi = new(fieldInfo) 129 fi = new(fieldInfo)
130 130
131 if field.Kind() != reflect.Ptr && field.Kind() != reflect.Slice && field.CanAddr() { 131 addrField = field
132 if field.CanAddr() && field.Kind() != reflect.Ptr {
132 addrField = field.Addr() 133 addrField = field.Addr()
133 } else { 134 if _, ok := addrField.Interface().(Fielder); !ok {
135 if field.Kind() == reflect.Slice {
134 addrField = field 136 addrField = field
135 } 137 }
138 }
139 }
136 140
137 parseStructTag(sf.Tag.Get(defaultStructTagName), &attrs, &tags) 141 parseStructTag(sf.Tag.Get(defaultStructTagName), &attrs, &tags)
138 142
......
...@@ -16,7 +16,6 @@ type Fielder interface { ...@@ -16,7 +16,6 @@ type Fielder interface {
16 FieldType() int 16 FieldType() int
17 SetRaw(interface{}) error 17 SetRaw(interface{}) error
18 RawValue() interface{} 18 RawValue() interface{}
19 Clean() error
20 } 19 }
21 20
22 type Ormer interface { 21 type Ormer interface {
...@@ -84,17 +83,6 @@ type RawSeter interface { ...@@ -84,17 +83,6 @@ type RawSeter interface {
84 Prepare() (RawPreparer, error) 83 Prepare() (RawPreparer, error)
85 } 84 }
86 85
87 type IFieldError interface {
88 Name() string
89 Error() error
90 }
91
92 type IFieldErrors interface {
93 Get(string) IFieldError
94 Set(string, IFieldError)
95 List() []IFieldError
96 }
97
98 type stmtQuerier interface { 86 type stmtQuerier interface {
99 Close() error 87 Close() error
100 Exec(args ...interface{}) (sql.Result, error) 88 Exec(args ...interface{}) (sql.Result, error)
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!