2013-01-24 6 views
0

객체를 만드는 방법 User?for 루프에서 객체 생성

for i in range(11): 
    i = User.objects.create(username = 'test125', email='[email protected]', password='pass1') 

username 당신은 같은 username 두 개의 객체를 가질 수 없습니다 의미 username 필드에 고유 한 contraint이

+0

사용자 이름 = '테스트 {}'형식 (i) –

답변

2

고유하지 않습니다.

for i in range(10): 
    i = User.objects.create(username = 'testX%s' % i, email='[email protected]', password='pass1') 
+4

[대량 작성]을 반복 할 횟수에 따라 (https://docs.djangoproject.com/en/dev/ref/models/) querysets/# django.db.models.query.QuerySet.bulk_create)는 데이터베이스에 너무 많이 도달하는 것을 제한합니다. – Nathaniel

+0

예! 좋은 제안. –

1

당신이 겪고있는 문제는 당신이 username 값을 고정한다는 것입니다, 그래서 당신은 같은 이름을 가진 10 명의 사용자를 만들려고이보십시오.

그냥 당신은 각 레코드의 이름을 변경해야 username='testuser-{}'.format(i)

0

처럼, 사용자 이름에 대한 변화의 어떤 종류를 사용합니다.

각 사용자의 이름은 "test125"입니다. 각각의 새로운 기록에 대한 색인을 연결하십시오 :

for i in range(11): 
    i = User.objects.create(username = 'test%s' % i, email='[email protected]', password='pass1') 

는 대부분의 경우 당신이 당신의 '이메일'컬럼과 동일한 작업을 수행해야합니다

또한
for i in range(11): 
    i = User.objects.create(username = 'test%s' % i, email='test%[email protected]' % i, password='pass1') 

, 일반적으로 지정하는 것은 좋은 생각이 아닌 당신의 새 개체를 색인과 동일한 변수에 추가하십시오. 'i'와 다른 것을 시도해보십시오.