繁体   English   中英

django自动填充admin中的manytomany字段

[英]django autofill manytomany field in admin

美好的一天,不久前,与Django合作。 遇到以下问题。

有两种型号

class Product(models.Model):
    productID       = models.AutoField(primary_key=True)
    brandID         = models.ForeignKey(Brand, verbose_name=u'Бренд')
    categoryID      = models.ForeignKey(Category, verbose_name=u'Категория')
    productPhotos   = models.ManyToManyField("ProductPhoto", verbose_name = "Фотографии товара", related_name="photos", blank=True)

class ProductPhoto(models.Model):
    productPhotoID      = models.AutoField(primary_key=True)
    productID           = models.ForeignKey(Product)
    imageFile           = models.FileField(u'Путь к изображение', upload_to=makeUploadPath)
    dateModified        = models.DateField(auto_now=True)

对于管理员,请使用以下TabularInline

class ProductPhotoInline(admin.TabularInline):
    model = ProductPhoto
    verbose_name = u"Фото"
    verbose_name_plural = u"Фотографии"

class ProductAdmin(admin.ModelAdmin):
    list_display = ('title')
    search_fields = ...
    fieldsets = ...
    )
    inlines = [ ProductPhotoInline, ]

当您在表ProdcutPhoto productId字段中添加产品时出现问题,并且表Products productPhotos中的字段为空。 如何最好地填写两个字段。

您应该删除productPhotos ManyToMany字段,这是多余的。 如果每张照片仅附在一个产品上,那么您只需要productID ForeignKey。

要访问产品实例中的照片,可以使用productphoto_set ,例如

product = Product.objects.get(pk=1)
photos = product.productphoto_set.all()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM