这是我的模型,我想限制用户可以上传的照片数量只有10个。我想将它做到一个位置,以便它在面向管理员和用户的表单中工作。有人能帮助我吗?通过计数限制ForeignKey模型
class StarPhotos(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
PHOTO_CATEGORY = (
('HS', "Head Shot"),
('WP', "Western Party Wear"),
('IP', "Indian Party Wear"),
('SW', "Swim Wear"),
('CW', "Casual Wear"),
)
category = models.CharField(max_length=2, choices=PHOTO_CATEGORY, default='CW')
# This FileField should preferaby be changed to ImageField with pillow installed.
photos = models.FileField(max_length=200, upload_to='images/',)
def __str__(self):
return "Images for {0}".format(self.user)
您可以使用支票的功能,将检查用户有多少照片上传至今。虽然我认为可能有更好的解决方案 –
我建议您根据使用情况重写'create()'和'save()'以在创建项目之前检查项目数量。 –
通常save()在管理中不会被调用,因为它使用bulk_create() – Sayok88