* Vietnamese translation incomplete

Classified ads models explain

Classified ads models explain (English fallback)

Aug. 16, 2025

Posted by admin

Nhom

Notes

 

Perfect! Now I have a comprehensive view of the classified ads models. Let me explain each model and its fields in detail:

Classified Ads Models - Detailed Field Explanation

The classified ads system consists of several interconnected models that create a comprehensive marketplace platform. Here's a detailed breakdown

 

1. Category Model - Hierarchical Organization

Core Fields:

  • name (CharField, max_length=100): The English category name (e.g., "Cars", "Electronics")
  • name_vi (CharField, optional): Vietnamese translation of category name
  • description (TextField, optional): Detailed description in English
  • description_vi (TextField, optional): Vietnamese description
  • parent (ForeignKey to self): Creates hierarchical categories (e.g., "Cars" → "Used Cars")
  • icon (CharField): Font Awesome CSS class for visual icons (e.g., "fas fa-car")
  • slug (SlugField, unique): URL-friendly identifier for SEO
  • is_active (BooleanField): Controls category visibility
  • created_at (DateTimeField): Automatic timestamp

Translation Management:

  • translation_status (CharField): Tracks Vietnamese translation status ('pending', 'translated', 'reviewed')
  • translated_by (CharField): Records translator name
  • translated_at (DateTimeField): Translation completion timestamp

Methods:

 

 

2. AdStatus & AdType - Enumeration Classes

AdStatus Options:

  • DRAFT: Ad being created/edited
  • ACTIVE: Live, searchable ad
  • SOLD: Item sold, ad archived
  • EXPIRED: Time-based expiration
  • SUSPENDED: Admin-moderated removal

AdType Options:

  • SELL: "For Sale" listings
  • BUY: "Looking to Buy" requests
  • RENT: Rental listings
  • SERVICE: Service offerings
  • JOB: Employment postings

 

 

3. Location Model - Geographic Organization

Fields:

  • name (CharField): City/area name
  • slug (SlugField): URL identifier
  • state_province (CharField): State/province (optional)
  • country (CharField): Defaults to "Vietnam"
  • is_popular (BooleanField): Featured locations
  • is_active (BooleanField): Location availability
  • order (PositiveIntegerField): Display ordering
  • get_ads_count(): Method returning active ads count

 

 

4. ClassifiedAd Model - Core Advertisement

Basic Information:

  • title (CharField, max_length=200): Ad headline in English
  • title_vi (CharField, optional): Vietnamese title
  • description (RichTextUploadingField): Rich HTML content with image upload
  • description_vi (RichTextUploadingField, optional): Vietnamese description
  • category (ForeignKey): Links to Category model
  • ad_type (CharField): Type from AdType choices

User & Contact Details:

  • user (ForeignKey to User): Ad owner
  • contact_name (CharField, optional): Alternative contact name
  • contact_email (EmailField, optional): Contact email
  • contact_phone (CharField, optional): Phone number
  • location (CharField): Free-text location description

Pricing:

  • price (DecimalField): Price with 2 decimal places
  • price_negotiable (BooleanField): "Price negotiable" flag

Status & Lifecycle:

  • status (CharField): Current ad status (AdStatus choices)
  • featured (BooleanField): Premium featured status
  • expires_at (DateTimeField): Expiration date
  • created_at (DateTimeField): Creation timestamp
  • updated_at (DateTimeField): Auto-update on save
  • published_at (DateTimeField): When ad went live

Translation System:

Analytics:

  • view_count (PositiveIntegerField): Total view counter

Database Optimization:

Key Methods:

 

 

5. Supporting Models (Brief Overview)

 

 

AdImage Model:

  • ad (ForeignKey): Links to ClassifiedAd
  • image (ImageField): Image file with date-based upload path
  • caption (CharField): Image description
  • is_primary (BooleanField): Main image flag

order (PositiveIntegerField): Display sequence

 

AdView Model:

  • ad (ForeignKey): Viewed advertisement
  • ip_address (GenericIPAddressField): Visitor IP
  • user (ForeignKey, optional): Logged-in user
  • Unique constraint: Prevents duplicate views from same IP

 

 

Favorite Model:

  • user (ForeignKey): User who favorited
  • ad (ForeignKey): Favorited advertisement
  • Unique constraint: One favorite per user per ad

 

 

AdInquiry Model:

 

 

AdPromotion Model:

 

 

AdStatistics Model:

  • Comprehensive analytics: Views, contacts, social sharing
  • Revenue tracking: Generated revenue, promotion spending
  • Time-based metrics: Daily, weekly, monthly breakdowns

 

 

PlatformRevenue Model:

  • Business intelligence: Track all revenue streams
  • Financial management: Fees, commissions, net amounts
  • Payment integration: Transaction IDs, payment methods

 

 

Key Design Patterns

  1. Multilingual Support: Parallel _vi fields for Vietnamese translation
  2. Translation Workflow: Status tracking with translator attribution
  3. Hierarchical Categories: Self-referencing for unlimited nesting
  4. Rich Content: CKEditor integration for formatted descriptions
  5. Analytics Integration: Built-in view tracking and statistics
  6. Revenue Management: Comprehensive financial tracking
  7. User Experience: Featured ads, favorites, inquiry system
  8. Geographic Organization: Location-based filtering and popular areas

This system provides a complete classified ads platform with multilingual support, comprehensive analytics, and revenue generation capabilities suitable for the Vietnamese market.

 

Vietnamese translation is not available for this article. Showing English content:

Nhom

Notes

 

Perfect! Now I have a comprehensive view of the classified ads models. Let me explain each model and its fields in detail:

Classified Ads Models - Detailed Field Explanation

The classified ads system consists of several interconnected models that create a comprehensive marketplace platform. Here's a detailed breakdown

 

1. Category Model - Hierarchical Organization

Core Fields:

  • name (CharField, max_length=100): The English category name (e.g., "Cars", "Electronics")
  • name_vi (CharField, optional): Vietnamese translation of category name
  • description (TextField, optional): Detailed description in English
  • description_vi (TextField, optional): Vietnamese description
  • parent (ForeignKey to self): Creates hierarchical categories (e.g., "Cars" → "Used Cars")
  • icon (CharField): Font Awesome CSS class for visual icons (e.g., "fas fa-car")
  • slug (SlugField, unique): URL-friendly identifier for SEO
  • is_active (BooleanField): Controls category visibility
  • created_at (DateTimeField): Automatic timestamp

Translation Management:

  • translation_status (CharField): Tracks Vietnamese translation status ('pending', 'translated', 'reviewed')
  • translated_by (CharField): Records translator name
  • translated_at (DateTimeField): Translation completion timestamp

Methods:

 

 

2. AdStatus & AdType - Enumeration Classes

AdStatus Options:

  • DRAFT: Ad being created/edited
  • ACTIVE: Live, searchable ad
  • SOLD: Item sold, ad archived
  • EXPIRED: Time-based expiration
  • SUSPENDED: Admin-moderated removal

AdType Options:

  • SELL: "For Sale" listings
  • BUY: "Looking to Buy" requests
  • RENT: Rental listings
  • SERVICE: Service offerings
  • JOB: Employment postings

 

 

3. Location Model - Geographic Organization

Fields:

  • name (CharField): City/area name
  • slug (SlugField): URL identifier
  • state_province (CharField): State/province (optional)
  • country (CharField): Defaults to "Vietnam"
  • is_popular (BooleanField): Featured locations
  • is_active (BooleanField): Location availability
  • order (PositiveIntegerField): Display ordering
  • get_ads_count(): Method returning active ads count

 

 

4. ClassifiedAd Model - Core Advertisement

Basic Information:

  • title (CharField, max_length=200): Ad headline in English
  • title_vi (CharField, optional): Vietnamese title
  • description (RichTextUploadingField): Rich HTML content with image upload
  • description_vi (RichTextUploadingField, optional): Vietnamese description
  • category (ForeignKey): Links to Category model
  • ad_type (CharField): Type from AdType choices

User & Contact Details:

  • user (ForeignKey to User): Ad owner
  • contact_name (CharField, optional): Alternative contact name
  • contact_email (EmailField, optional): Contact email
  • contact_phone (CharField, optional): Phone number
  • location (CharField): Free-text location description

Pricing:

  • price (DecimalField): Price with 2 decimal places
  • price_negotiable (BooleanField): "Price negotiable" flag

Status & Lifecycle:

  • status (CharField): Current ad status (AdStatus choices)
  • featured (BooleanField): Premium featured status
  • expires_at (DateTimeField): Expiration date
  • created_at (DateTimeField): Creation timestamp
  • updated_at (DateTimeField): Auto-update on save
  • published_at (DateTimeField): When ad went live

Translation System:

Analytics:

  • view_count (PositiveIntegerField): Total view counter

Database Optimization:

Key Methods:

 

 

5. Supporting Models (Brief Overview)

 

 

AdImage Model:

  • ad (ForeignKey): Links to ClassifiedAd
  • image (ImageField): Image file with date-based upload path
  • caption (CharField): Image description
  • is_primary (BooleanField): Main image flag

order (PositiveIntegerField): Display sequence

 

AdView Model:

  • ad (ForeignKey): Viewed advertisement
  • ip_address (GenericIPAddressField): Visitor IP
  • user (ForeignKey, optional): Logged-in user
  • Unique constraint: Prevents duplicate views from same IP

 

 

Favorite Model:

  • user (ForeignKey): User who favorited
  • ad (ForeignKey): Favorited advertisement
  • Unique constraint: One favorite per user per ad

 

 

AdInquiry Model:

 

 

AdPromotion Model:

 

 

AdStatistics Model:

  • Comprehensive analytics: Views, contacts, social sharing
  • Revenue tracking: Generated revenue, promotion spending
  • Time-based metrics: Daily, weekly, monthly breakdowns

 

 

PlatformRevenue Model:

  • Business intelligence: Track all revenue streams
  • Financial management: Fees, commissions, net amounts
  • Payment integration: Transaction IDs, payment methods

 

 

Key Design Patterns

  1. Multilingual Support: Parallel _vi fields for Vietnamese translation
  2. Translation Workflow: Status tracking with translator attribution
  3. Hierarchical Categories: Self-referencing for unlimited nesting
  4. Rich Content: CKEditor integration for formatted descriptions
  5. Analytics Integration: Built-in view tracking and statistics
  6. Revenue Management: Comprehensive financial tracking
  7. User Experience: Featured ads, favorites, inquiry system
  8. Geographic Organization: Location-based filtering and popular areas

This system provides a complete classified ads platform with multilingual support, comprehensive analytics, and revenue generation capabilities suitable for the Vietnamese market.

 

Attached Files

0 files found.

You are viewing this article in public mode. Some features may be limited.