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', | __all__ = ['basic', 'repr', 'custom_methods', 'many_to_one', 'many_to_many', | ||||||
|            'ordering', 'lookup', 'get_latest', 'm2m_intermediary', 'one_to_one', |            'ordering', 'lookup', 'get_latest', 'm2m_intermediary', 'one_to_one', | ||||||
|            'm2o_recursive', 'm2o_recursive2', 'save_delete_hooks', 'custom_pk', |            '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