내 models.py에는 여러 필드가 있습니다. 기본 키는 기본적으로 Django에 의해 자동으로 설정됩니다.기본 (자동) 기본 키가있는 장고 모델 - 업이트 및 저장된 항목
정기적으로 각 항목을 업데이트하려고 시도하지만 더 이상 저장할 수없는 장고 crontab이 있습니다. (최근까지는이 필드 중 하나를 기반으로 기본 키를 수동으로 설정했습니다.)
누군가이 문제를 해결할 수있는 방법을 제안 할 수 있습니까? 각 항목에 대해 선언 된 각 필드를 업데이트하고 존재하지 않는 경우 만들 수 있어야합니다. 이 방법이 없기 때문에
try:
abc = ABC.objects.get(fullid=id)
except ABC.DoesNotExist:
ABC.objects.create(params)
else:
abc.field = value
abc.save()
적 try: ... except: ...
을 사용하지 마십시오 : 둘 다 같은
class ABC(models.Model):
init = models.CharField(max_length=6)
last = models.CharField(max_length=20)
fullid = models.CharField(max_length=30) <--- used to be primary_key=True
Crontab (pseudocode)
for x in list:
try:
entry = init='abc', last='def', fullid='xyz'
entry.save()
except: 'unable to update.' <-- I'm now hitting the except all the time.
몇 가지 코드 샘플을 제공해 주시겠습니까? 정확히 무엇을하려고하는지, 왜 당신이하고있는 것이 작동하지 않는지를 말하기가 조금 어렵습니다. – Karmel
'get_or_create'와 같은 소리가 도움이 될 것입니다 : https://docs.djangoproject.com/en/dev/ref/models/querysets/#get-or-create – arie
@Karmel = - 코드 예제를 추가했습니다. – snakesNbronies