그것들은 내 모델입니다.
class Hero(models.Model):
name = models.CharField(max_length=24)
class Photo(models.Model):
hero = models.ForeignKey(Hero)
image = models.ImageField(upload_to='heroes')
이제이 앱의 규칙에 따라 Hero
하나 이상의 Photo
. 4 시간 동안 문서를 살펴 보았지만 아직 해결책을 찾지 못했습니다. 이것이 Rails라면 간단합니다.
class Hero < ActiveRecord::Base
has_many :photos, dependent: :destroy
class Photo < ActiveRecord::Base
belongs_to :hero
내 Django 모델을 사용하여 필드는 a Photo
없이는 업로드 할 수 없는지 확인합니다 Hero
.-내가 원하는 것입니다.하지만 a Hero
없이는 만들 수 있습니다 Photo
.-이것은 내가 원하는 것이 아닙니다. a Hero
에는 Photo
.
어떻게해야합니까?
데이터베이스 수준에서이 작업을 수행 할 수있는 방법은 전혀 없으며 Rails 코드는 확실히 그러한 작업을 수행하지 않습니다. 이것은 Django 또는 Rails의 제한이 아니라 간단한 논리입니다. 영웅의 ID 없이는 사진을 만들 수 없습니다. 즉, 먼저 사진없이 영웅을 먼저 만들어야합니다.
모든 애플리케이션에서이를 수행하는 유일한 방법은 Heros와 Photos가 생성되는 시점의 비즈니스 로직입니다. Django에서는 양식을 통해 수행합니다. Hero 용 모델 양식과 Photo 용 인라인 양식 집합이 연결되어 있습니다. 그런 다음 모델 양식에 대한 유효성 검사 논리는 하나 이상의 사진이 생성되었는지 확인하는 역할을합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다