1

ユーザーがアルバムに写真をアップロードするためのモデルがあります。ただし、ユーザーがアルバムを作成せずに写真をアップロードするだけの場合は、デフォルトのアルバム、つまり「デフォルトのアルバム」にアップロードしたいと考えています。そのため、ユーザーが新しいアルバムを作成せずに写真をアップロードするたびに、その写真によってデフォルト アルバムが更新されます。そのためにdefault value、アルバムのタイトルに を付けることを考えましたが、ユーザーが写真をアップロードするために新しいアルバムを作成しない限り、「デフォルト アルバム」という名前の新しいアルバムを作成したくありません。「デフォルトアルバム」を更新したいだけです。上記を達成する方法を教えてください。ForeignKey fieldまた、 User の を Photo クラスではなく Album クラスに渡しても大丈夫ですか? ありがとうございました!

models.py:

class Album(models.Model):
    title = models.CharField(max_length=200)
    pub_date = models.DateTimeField(default=datetime.now)
    user = models.ForeignKey(User)


class Photo(models.Model):
    album = models.ForeignKey(Album)
    title = models.CharField(max_length=200)
    image = models.ImageField(upload_to=get_upload_file_name, blank=True)
    pub_date = models.DateTimeField(default=datetime.now)
4

1 に答える 1

0

簡単です。デフォルトのオプションを使用します。これはドキュメントから直接取得したものであり、アルバムを常にデフォルトの「デフォルト アルバム」にします。これは、名前を持つべき関係ではなく、参照する実際のモデルであるためです。

class Album(models.Model):
    title = models.CharField(max_length=200, default="Default Album")
于 2013-10-31T14:13:59.287 に答える