django-logicaldelete

ภาพหน้าจอของซอฟแวร์:
django-logicaldelete
รายละเอียดซอฟแวร์:
รุ่น: 1.1 Beta 1 Dev3
วันที่อัพโหลด: 12 May 15
ผู้พัฒนา: Patrick Altman
การอนุญาต: ฟรี
ความนิยม: 1

Rating: nan/5 (Total Votes: 0)

ความคิดเห็นของนักพัฒนา
django-logicaldelete เป็น app ขนาดเล็กและง่ายที่ฉันโยนกันเพื่อให้ได้นำมาใช้ใหม่จากบางสิ่งบางอย่างบางอย่างที่ฉันทำในเกือบทุกโครงการและทุกรูปแบบการสร้าง & nbsp;. มันง่ายเกินไปสำหรับข้อมูลที่ดีที่จะได้รับการลบและมันจะไม่สามารถกู้คืน นอกจากนี้ยังง่ายเกินไปที่จะแก้ไขปัญหานี้โดยการเอาชนะรุ่นลบ () วิธีการและมีการบันทึกการตั้งค่าสถานะเพียงแค่ลบแล้วใช้ประโยชน์จากผู้จัดการ Django เพื่อแทนที่การทำงานเริ่มต้นเพื่อให้รายการที่ถูกลบมีเหตุผลจะไม่ได้กลับมาใน querysets
มีสองข้อยกเว้น แต่ที่ฉันได้พบว่ามีประโยชน์สำหรับกฎนี้
& nbsp; 1 ในการดูแลผมชอบที่จะเห็นทุกอย่างด้วยตัวบ่งชี้ถึงหรือไม่ว่าจะได้รับการลบที่มีความสามารถในการกรองลงไปที่บันทึกการใช้งานเพียง (หรือลบสำหรับเรื่องที่)
& nbsp; 2 ผมยังคิดว่ามันเป็นคำขอที่ถูกต้องเมื่อรายการถูกเรียกโดยมันเป็นค่าคีย์หลักที่วัตถุที่ควรจะกลับแม้ว่าจะมีการทำเครื่องหมายลบ
การใช้ django-logicaldelete
ใช้ app ง่ายๆสวย:
& nbsp; 1 ใส่โฟลเดอร์ย่อย logicaldelete ในเส้นทางของงูหลามของคุณ
& nbsp; 2 สืบทอดจาก logicaldelete.models.Model สำหรับทุกรุ่นที่คุณต้องการที่จะมีส่วนร่วมในการทำงานนี้
& nbsp; 3 การสร้างและ / หรือลงทะเบียนผู้ดูแลระบบสำหรับแต่ละรูปแบบเหล่านี้โดยใช้ logicaldelete.admin.ModelAdmin
เพิ่มเติม
ลบ Logical รับการจัดการโดยวันที่ปั๊มคอลัมน์ date_removed นอกจากนี้ยังมีคอลัมน์ DATE_CREATED และ DATE_MODIFIED จะมีประชากรเป็นความสะดวกสบาย
ส่ว​​นขยายที่เป็นไปได้
คุณสามารถซับคลาสเหล่านี้สองชั้นเพื่อให้การทำงานทั่วไปและมีประโยชน์กับรุ่นของคุณ
UUID คีย์หลัก
ฉันมักจะใช้เขตข้อมูล UUID สำหรับคีย์หลักของฉันเพราะพวกเขาช่วยให้ฉันไป Shard ตารางของฉันถ้าและเมื่อฉันต้องในนอกจากนี้พวกเขาให้รหัส obfuscated ข้อมูลของฉัน (คนไม่สามารถกำหนดจำนวนของวัตถุบางอย่างที่ฉันมีใน ฐานข้อมูลของฉันถ้าฉันไม่ต้องการให้พวกเขารู้ แต่เพียงมองรหัสจำนวนเต็มใน URL)
สนามลำดับ
หลายครั้งที่ผมพบว่ามีประโยชน์ที่จะมีสนามจำนวนเต็มในรูปแบบของฉันที่อนุญาตให้มีการจัดลำดับและควบคุมอย่างชัดเจน ผมปกติใช้นี้เป็นจัดเรียงจากมากไปน้อยการดำเนินการที่ข้อมูลจะถูกจัดเรียงจากมากไปน้อยตามค่าลำดับ
เพื่อให้การดำเนินการนี​​้คุณต้องการประเภทรองทั้งสองรุ่นและ ModelAdmin ซึ่งจะเป็นรุ่นที่เรียบง่ายนอกจากนี้เห็นได้ชัดของ IntegerField, ModelAdmin จะแทนที่ get_query_set ที่จะทำสิ่งที่ชอบ
ระดับ SequencedModel (logicaldelete.models.Model):
& nbsp; ลำดับ models.IntegerField = ()
ระดับ MyLogicalDeletedManager (logicaldelete.models.LogicalDeletedManager):
& nbsp; def get_query_set (ตัวเอง):
& nbsp; ถ้า self.model:
& nbsp;. qs = ซุปเปอร์ (MyLogicalDeletedManager ตนเอง) .get_query_set () กรอง (date_removed__isnull = True)
& nbsp; ถ้า SequencedModel ใน inspect.getmro (self.model):
& nbsp; qs = qs.order_by ('- ลำดับ)
& nbsp; กลับมา qs

มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:

  • เปลี่ยนทุกอย่างเพื่อ all_with_deleted ใน LogicalDeleteManager
  • LogicalDeleteManager ย้ายจาก logicaldelete.models เพื่อ logicaldelete.managers
  • ลบลบและทุกอย่าง querysets จาก logicaldelete.models.Model

ต้องการ

  • งูใหญ่
  • Django

ซอฟแวร์อื่น ๆ ของนักพัฒนา Patrick Altman

formly
formly

11 Apr 15

formly
formly

20 Feb 15

django-trending
django-trending

14 Apr 15

ความคิดเห็นที่ django-logicaldelete

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!