python - 如何使用外键链接多个模型并制作相应的视图以获取在 Django 中的模板处呈现的数据?
问题描述
我正在创建一个 Web 应用程序,用户可以在该应用程序中在网站上出售他的旧手机并获得手机的最大可用价值。
这个过程有点类似于 Cashify。(https://www.cashify.in/sell-old-mobile-phone)。
一旦用户点击特定品牌,它就会列出该品牌下的所有可用设备。
当用户点击特定设备时,它会转到显示手机不同变体的 URL。当用户选择变体时,它向用户显示的设备的最高可用价格。
这是代码:
模型.py
class Brand(models.Model):
title = models.CharField(max_length=50)
brand_image = models.ImageField()
slug = models.CharField(max_length=50, default='slug')
class Meta:
verbose_name_plural = "Brands"
def __str__(self):
return self.title
class Storage(models.Model):
ram_storage = models.CharField(max_length=2, default=1)
rom_storage = models.CharField(max_length=3, default=2)
class Meta:
verbose_name_plural = "Storages"
def __str__(self):
return (self.ram_storage + "/" + self.rom_storage)
class Mobile(models.Model):
title = models.CharField(max_length=50)
thumbnail = models.ImageField()
slug = models.CharField(max_length=50)
max_selling_price = models.IntegerField(default=10000)
brand = models.ForeignKey(Brand, default="Apple", related_name='brand', verbose_name="Brands", on_delete=models.SET_DEFAULT)
storage = models.ForeignKey(Storage, related_name='storage', default=1, verbose_name="Storage", on_delete=models.CASCADE)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('brand-detail', kwargs={
'slug': self.slug
})
视图.py
def brand_detail_view(request, slug):
phone = Mobile.objects.filter(brand__slug = slug)
context = {
"phones": phone
}
return render(request, "brand-detail.html", context)
def phone_detail_view(request, slug):
phone = get_object_or_404(Mobile, brand__slug=slug)
context = {
"phone": phone
}
return render(request, "phone-detail.html", context)
解决方案
推荐阅读
- excel - 填写动态列名的条件(powerquery)
- scikit-learn - 均方误差 (MSE) 均方根误差 (RMSE)
- google-apps-script - 电子表格上的电子邮件警报脚本
- ruby - How to create
... node in Nokogiri? - android-studio - 如何将我的 Flutter 项目从 vscode 迁移到 Android Studio?
- javascript - 尝试使用 expressJS 重定向时“被 CORS 策略阻止”
- android - 具有 DataBinding 和 R8 的 Android 动态功能
- android - Spinner 在自定义对话框中不显示任何文本
- laravel - Laravel standard role on user registering
- python - AttributeError:“Alpr”对象没有“已加载”属性