2016-08-05 2 views
0

이것은 내 첫 번째 게시물이 될 것이므로 모든 것이 정확할 것으로 기대합니다.django와 관계를 만드는 방법

나는 장고에 문제가있어, 조금 추첨 게임을 만들려고 노력한다. 이 게임에는 bitcoinlottery라는 앱이 있고 그 앱에는 2 가지 모델이 있습니다. 현재는 다음과 같습니다.

from django.db import models 
from django.utils import timezone 

class Lottery(models.Model): 
    owner = models.ForeignKey('auth.User') 
    title = models.CharField(max_length=100) 
    slug = models.SlugField(max_length=110) 
    max_players = models.IntegerField() 
    total_players = models.CharField(default=0) 
    online = models.BooleanField(default=True) 
    create_date = models.DateTimeField(default=timezone.now) 

class Ticket(models.Model): 
    owner = #this most be related to the user that buy the ticket 
    lottery_id = #this most be related to the id of the lottery 
    ticket_id = #a random number 

이제는 알아낼 수없는 두 가지 문제가 있습니다.

첫 번째는 복권 max_players와 관련된 티켓 수를 만드는 방법이며, max_players는 사용 가능한 최대 플레이어/티켓 수입니다.

두 번째 질문은 복권의 관리 페이지에있는 목록에서 사용 가능한 모든 티켓을 볼 수있는 옵션이 있습니까? 그렇다면이 방법은 무엇입니까?

도움 주셔서 감사합니다. 좋은 하루 되세요.

답변

0

먼저 소유자 필드가 작동하는지 잘 모르겠습니다. 나는

owner = models.ForeignKey('auth.User') 

은 첫째로 나는 당신이 그 관계를 변경이 post 볼 제안 인증 패키지에 대한 수입이 표시되지 않습니다.

두 가지 질문 모두 실제로 달성해야 할 것이 무엇인지에 대한 명확성이 조금 더 필요합니다. 티켓 모델도 완성되면 도움이됩니다.

해당 정보에 대해 가능한 경우 말할 수 없지만 두 모델 간에는 아무런 관련이 없습니다.

class Ticket(models.Model): 
    # This is not required unless you want it for some reason, you can use 
    # this owner from the lotter_id 
    owner = #this most be related to the user that buy the ticket 
    lottery_id = models.ForiegnKey(Lottery) 
    ticket_id = #a random number 

def __str__(self): 
    return self.lottery_id, function_that_return_max_tickets() 

당신이 귀하의 요구 사항에 따라 ModelManager에서 사용자 정의 함수를 작성할 수 있습니다 위의 관계를 사용.

Django가 제공하는 Manger를 통해 읽으면 최대 수의 티켓을 계산하고 ORM을 사용하는 views.py에서 사용할 수있는 함수를 작성하는 데 사용할 수 있습니다.

+0

이 정보를 제공해 주셔서 감사합니다. –

+0

지시에 따라 내가 필요한 것을 성취 했으므로 이것을 해결하도록 표시했습니다. –

관련 문제