mirror of
				https://github.com/django/django.git
				synced 2025-10-30 17:16:10 +00:00 
			
		
		
		
	Added unit tests to confirm #683 -- a new custom_columns model example
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1147 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		| @@ -1,4 +1,4 @@ | ||||
| __all__ = ['basic', 'repr', 'custom_methods', 'many_to_one', 'many_to_many', | ||||
|            'ordering', 'lookup', 'get_latest', 'm2m_intermediary', 'one_to_one', | ||||
|            'm2o_recursive', 'm2o_recursive2', 'save_delete_hooks', 'custom_pk', | ||||
|            'subclassing', 'many_to_one_null'] | ||||
|            'subclassing', 'many_to_one_null', 'custom_columns'] | ||||
|   | ||||
							
								
								
									
										53
									
								
								tests/testapp/models/custom_columns.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								tests/testapp/models/custom_columns.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| """ | ||||
| 17. Custom column names | ||||
|  | ||||
| If your database column name is different than your model attribute, use the | ||||
| ``db_column`` parameter. Note that you'll use the field's name, not its column | ||||
| name, in API usage. | ||||
| """ | ||||
|  | ||||
| from django.core import meta | ||||
|  | ||||
| class Person(meta.Model): | ||||
|     first_name = meta.CharField(maxlength=30, db_column='firstname') | ||||
|     last_name = meta.CharField(maxlength=30, db_column='last') | ||||
|  | ||||
|     def __repr__(self): | ||||
|         return '%s %s' % (self.first_name, self.last_name) | ||||
|  | ||||
| API_TESTS = """ | ||||
| # Create a Person. | ||||
| >>> p = persons.Person(first_name='John', last_name='Smith') | ||||
| >>> p.save() | ||||
|  | ||||
| >>> p.id | ||||
| 1 | ||||
|  | ||||
| >>> persons.get_list() | ||||
| [John Smith] | ||||
|  | ||||
| >>> persons.get_list(first_name__exact='John') | ||||
| [John Smith] | ||||
|  | ||||
| >>> persons.get_object(first_name__exact='John') | ||||
| John Smith | ||||
|  | ||||
| >>> persons.get_list(firstname__exact='John') | ||||
| Traceback (most recent call last): | ||||
|     ... | ||||
| TypeError: got unexpected keyword argument 'firstname__exact' | ||||
|  | ||||
| >>> p = persons.get_object(last_name__exact='Smith') | ||||
| >>> p.first_name | ||||
| 'John' | ||||
| >>> p.last_name | ||||
| 'Smith' | ||||
| >>> p.firstname | ||||
| Traceback (most recent call last): | ||||
|     ... | ||||
| AttributeError: 'Person' object has no attribute 'firstname' | ||||
| >>> p.last | ||||
| Traceback (most recent call last): | ||||
|     ... | ||||
| AttributeError: 'Person' object has no attribute 'last' | ||||
| """ | ||||
		Reference in New Issue
	
	Block a user