을 통과해야 항목을 만들 수 있습니다. 항목이 태스크를 통과하자마자 태스크는 완료된 것으로 표시됩니다. 작업의 이름은 미리 알려져 있습니다.장고 모델은 나는 다음과 같은 시나리오에 대한 모델을 만들기 위해 노력하고 다양한 작업
- 작성 항목
- 작업 1
- 작업이
'항목의 로그를 확인'- 작업 3 '항목을 설치'항목을 등록 ': 예를 들어
저는이 간단한 모델로 시작했습니다. b 그것은 매우 정적 인 것처럼 보이고 실제로는 내가 찾고있는 것이 아닙니다. 내가 두 항목을 작성하는 경우,
class Task(models.Model):
name = models.CharField(max_length=128)
done_by = models.CharField(max_length=64, blank=True)
done_date = models.DateField(null=True, blank=True)
class Item(models.Model):
item_id = models.PositiveIntegerField()
item_priority = models.PositiveSmallIntegerField(default=2)
item_date_created = models.DateField(auto_now_add=True)
tasks = models.ManyToManyField(Task)
을하지만 : 작업을 정의하는 사전 위해 ManyToMany 필드 예를 들어, 관계형 필드를 시도
models.py
class Item(models.Model):
item_id = models.PositiveIntegerField()
item_priority = models.PositiveSmallIntegerField(default=2)
item_date_created = models.DateField(auto_now_add=True)
task1_name = models.CharField(max_length=128)
task1_done_by = models.CharField(max_length=64, blank=True)
task1_done_date = models.DateField(null=True, blank=True)
task2_name = models.CharField(max_length=128)
task2_done_by = models.CharField(max_length=64, blank=True)
task2_done_date = models.DateField(null=True, blank=True)
# ... next 20 tasks
def __str__(self):
return str(self.item_id)
, 내가 이것으로 끝났다 동일한 작업을 수행하고 첫 번째 항목의 작업을 완료로 표시하면 두 번째 항목에서도 완료로 표시됩니다. 이는 내가 원하는 것이 아닙니다.
특정 항목에 작업을 할당하는 방법은 무엇입니까? 아니면 다른 모델이 내 시나리오에 가장 적합할까요?
나는 내 문제를 명확하게 내 질문을 약간 조정 한 마찬가지로 그것은 두 번째 항목에서 완료로 표시됩니다 - 이것은 내가 뭘 원하는지 아니며 나는 이것에 대한 해결책을 찾고 있습니다. –
Item 클래스 (models.Models)는 데이터베이스 객체의 템플릿입니다. 인스턴스를 작성합니다. 하나의 타스크 인스턴스를 두 개의 타스크 인스턴스에 링크하고 타스크를 갱신하는 경우 타스크 인스턴스를 링크하는 두 개 항목에 대해 동일하게됩니다. 당신이해야 할 일은 item1을위한 task1과 item2를위한 task2를 생성하는 것입니다. 이렇게하면 작업을 분리 할 수 있습니다. – rollinger
나는 이해하기 시작했다. 나는 새 작업을 만들어서 새 항목에 연결해야하며 다시 사용할 수 없습니다. 손으로 작업을 만들고 추가하는 코드 예제가 있습니까? –