django - 如何控制 Django 模型中的对象数量
问题描述
我有以下模型:
# Product Photos
class Photo(models.Model):
title = models.CharField(max_length=255, blank=True)
product = models.ForeignKey("Product", null=False, default="0", on_delete=models.CASCADE, related_name='photos')
file = ProcessedImageField(upload_to=get_upload_path,
max_length=500,
null=True,
blank=True,
processors=[ResizeToFill(800, 450)],
options={'quality': 80})
#height_field = models.IntegerField(default=0, null=True)
#width_field = models.IntegerField(default=0, null=True)
uploaded_at = models.DateTimeField(auto_now_add=True)
如您所见,有一个产品外键。我想要做的是,防止这个照片模型接受不超过 5 张来自同一产品的照片。
基本上,每个产品应该有5张或更少的照片。如何从照片模型中控制它?
解决方案
尝试在保存方法中查找多少张照片,
def __save__(self,**kwargs,*args):
if product.photos.count()>5
pass
else:
save()
语法可能有问题,但请根据您的业务逻辑进行调整
推荐阅读
- asp.net-mvc - ASP.NET MVC Html.RenderPartial 给出 UriFormatException(字符串太长)
- sql - bcp 输出到 UTF-8 在 SQL Server 2016 中不起作用
- sql - oracle sql - 使用双与号 (&&) 和双点 (..)
- python - 如何比较 PySpark 数据帧数组中的整数元素
- java - 执行自定义本机查询时无法提取 ResultSet
- wso2 - WSO2 PayloadFactory 调解器不转换参数
- windows - 登录后从网站获取 JSON 内容
- javascript - 另一个组件的vue调用方法
- angular - 记住 Facebook 登录 Ionic
- django - 在 django 中更改所需选择日期小部件的标签