関連するフィールドのフィールドに関連するフィールドを作成する方法を教えてください。私は2つのモデルを持っています:アルバムと写真、アルバムモデルはブールフィールドprivate
を持っています。写真にフィールドprivate
を作成する方法。アルバムフィールドがNoneの場合はFalse
の値、そうでない場合はアルバムのプライベートフィールドの値があります。関連オブジェクトのフィールドに関連するフィールドDjango
models.py:
from django.db import models
from django.contrib.auth.models import User
import os
import uuid
def get_image_path(instance, filename):
return '{}.{}'.format(uuid.uuid4(), filename.split('.')[-1])
class Album(models.Model):
user = models.ForeignKey(User, related_name='albums', on_delete=models.CASCADE)
title = models.CharField(max_length=80, default='New album')
creation_date = models.DateField(auto_now_add=True)
private = models.BooleanField(default=False)
def __str__(self):
return self.title
class Meta:
ordering = ['-creation_date', ]
class Photo(models.Model):
user = models.ForeignKey(User, related_name='photos', on_delete=models.CASCADE)
album = models.ForeignKey(Album, related_name='photos', on_delete=models.CASCADE, null=True, blank=True)
title = models.CharField(max_length=80, default='New photo')
image = models.ImageField(title, upload_to=get_image_path)
creation_date = models.DateField(auto_now_add=True)
# ???
private = models.BooleanField()
# ???
def __str__(self):
return self.title
class Meta:
ordering = ['-creation_date', ]
を使用すると、あなただけのアルバムのプライベートフィールドに依存プロパティを追加することはできません言ったように? –