Odoo 9 PostgreSQL veritabanında res_partner
tablosundaki image
sütununu bulamıyorum? Odoo 9 bu görüntü alanını nerede saklıyor?Odoo 9, veritabanındaki `res.partner` kayıtlarının` image` alanını fiziksel olarak nerede saklıyor?
Odoo 9, veritabanındaki `res.partner` kayıtlarının` image` alanını fiziksel olarak nerede saklıyor?
cevap
Odoo 9'dan itibaren, ir.attachment
modelinin (ir_attachment
tablosu) içinde depolanmak üzere birçok binary
alanı değiştirilmiştir. Bu, dosya sistemi depolamasından (ve tekilleştirme özelliklerinden) yararlanmak ve veritabanını şişirmekten kaçınmak için yapıldı.
res.partner
's image
fields için yapıldığı gibi, attachment=True
parametresiyle ikili alanlarda etkinleştirilir.
aktif
,ir.attachment
tabloda ikili alanların
get()
ve
set()
yöntem olacak
store and retrieve the value.
name
: ikili alanın adı, ör sen code bakarsak, eklerin orijinal kayıt bağlantısını kurmak için aşağıdaki değerleri kullanın göreceksinizimage
res_field
: ikili alanın adı, ör.image
res_model
: alanı içeren modeli ör.res.partner
res_id
: Kimliği ikili alan aittir kaydıntype
için:
datas
: aslında
'binary'
Yani eğer diskte saklanan ikili alanda, içeriğiyle sanal alan res.partner
'un image
değerini 32 ID ile tutarak ir.attachment
kaydını almak istediğinizde, aşağıdaki SQL'i kullanabilirsiniz:
abc...
değeri SHA-1 karma olduğu
SELECT id, store_fname FROM ir_attachment
WHERE res_model = 'res.partner' AND res_field = 'image' AND res_id = 32;
, store_fname
alanın gerçek değeri biçiminde 'ab/abcdef'
yılında, sizin Odoo Filestore içindeki resim dosyasına sana yolu verecektir dosyanın Bu, Odoo'nun eklerin tekilleştirilmesini nasıl uyguladığıdır: aynı dosyaya sahip birkaç eklenti, diskteki aynı benzersiz dosyayla eşleşecektir.
programlı image
alanın değerini değiştirmek isterseniz
write()
yöntemi) kullanılması önerilir .
İşte
- Referanslar ekleri
- Ve kullanmak için res.partner arasında
image
alanını dönüştüren 9.0 commit olarak ikili alanlar saklamak için özelliği tanıtmaktadır original 9.0 commit olduğunu.
kullanıyorum Çok teşekkürler :) Ayrıca ekte ve res_partner tablosunda bu tabloyu bağlamak için hangi tablonun kullanıldığını söyleyebilir misiniz? res_partner görüntüsü için eki bağlayan ilişki nerede? –
Rica ederim! "Ir.attachment" içindeki verileri "res.partner" satırlarıyla ilişkilendiren tablo, "ir_attachment" tablonun kendisidir. "Res_model", "res_field" ve "res_id" sütunları, "res_partner" ile bir çeşit "many2one" ilişkisi veya "attachment = True" ile bir ikili alana sahip başka bir tablo oluşturur. Belirli bir iş ortağı için eki almak için kullanabileceğiniz bir SQL sorgusu ve dosya dosyasındaki gerçek görüntü dosyasını bulmak için bazı açıklamalar ekledim. – odony
Kullanmakta olduğunuz Odoo'nun sürümünü belirtmeye değebilir. Depolama konumu 9.0 sürüm – odony
olarak değiştirildi. Evet Odoo 9.0 –