Skip to content

Instantly share code, notes, and snippets.

@andreasnuesslein
Created May 27, 2019 08:44
Show Gist options
  • Save andreasnuesslein/196781e3d3ecdd3d8b536dbcba17751f to your computer and use it in GitHub Desktop.
Save andreasnuesslein/196781e3d3ecdd3d8b536dbcba17751f to your computer and use it in GitHub Desktop.
django ORM's models.py for wordpress tables
# see https://codex.wordpress.org/Database_Description
from django.db import models
class WpUsers(models.Model):
id = models.BigAutoField(db_column='ID', primary_key=True)
user_login = models.CharField(max_length=60)
user_pass = models.CharField(max_length=255)
user_nicename = models.CharField(max_length=50)
user_email = models.CharField(max_length=100)
user_url = models.CharField(max_length=100)
user_registered = models.DateTimeField()
user_activation_key = models.CharField(max_length=255)
user_status = models.IntegerField()
display_name = models.CharField(max_length=250)
def __str__(self):
return f"{self.user_login} {self.user_email}"
class Meta:
managed = False
db_table = 'wp_users'
class WpUsermeta(models.Model):
umeta_id = models.BigAutoField(primary_key=True)
user = models.ForeignKey(WpUsers, on_delete=models.PROTECT)
meta_key = models.CharField(max_length=255, blank=True, null=True)
meta_value = models.TextField(blank=True, null=True)
class Meta:
managed = False
db_table = 'wp_usermeta'
class WpPosts(models.Model):
id = models.BigAutoField(db_column='ID', primary_key=True)
post_author = models.ForeignKey(WpUsers, on_delete=models.PROTECT, db_column='post_author')
post_date = models.DateTimeField()
post_date_gmt = models.DateTimeField()
post_content = models.TextField()
post_title = models.TextField()
post_excerpt = models.TextField()
post_status = models.CharField(max_length=20)
comment_status = models.CharField(max_length=20)
ping_status = models.CharField(max_length=20)
post_password = models.CharField(max_length=255)
post_name = models.CharField(max_length=200)
to_ping = models.TextField()
pinged = models.TextField()
post_modified = models.DateTimeField()
post_modified_gmt = models.DateTimeField()
post_content_filtered = models.TextField()
post_parent = models.BigIntegerField()
guid = models.CharField(max_length=255)
menu_order = models.IntegerField()
post_type = models.CharField(max_length=20)
post_mime_type = models.CharField(max_length=100)
comment_count = models.BigIntegerField()
class Meta:
managed = False
db_table = 'wp_posts'
class WpPostmeta(models.Model):
meta_id = models.BigAutoField(primary_key=True)
post = models.ForeignKey(WpPosts, on_delete=models.PROTECT)
meta_key = models.CharField(max_length=255, blank=True, null=True)
meta_value = models.TextField(blank=True, null=True)
class Meta:
managed = False
db_table = 'wp_postmeta'
class WpComments(models.Model):
comment_id = models.BigAutoField(db_column='comment_ID', primary_key=True) # Field name made lowercase.
comment_post_id = models.BigIntegerField(db_column='comment_post_ID') # Field name made lowercase.
comment_author = models.TextField()
comment_author_email = models.CharField(max_length=100)
comment_author_url = models.CharField(max_length=200)
comment_author_ip = models.CharField(db_column='comment_author_IP', max_length=100) # Field name made lowercase.
comment_date = models.DateTimeField()
comment_date_gmt = models.DateTimeField()
comment_content = models.TextField()
comment_karma = models.IntegerField()
comment_approved = models.CharField(max_length=20)
comment_agent = models.CharField(max_length=255)
comment_type = models.CharField(max_length=20)
comment_parent = models.BigIntegerField()
user = models.ForeignKey(WpUsers, on_delete=models.PROTECT)
class Meta:
managed = False
db_table = 'wp_comments'
class WpCommentmeta(models.Model):
meta_id = models.BigAutoField(primary_key=True)
comment = models.ForeignKey(WpComments, on_delete=models.PROTECT)
meta_key = models.CharField(max_length=255, blank=True, null=True)
meta_value = models.TextField(blank=True, null=True)
class Meta:
managed = False
db_table = 'wp_commentmeta'
class WpTerms(models.Model):
term_id = models.BigAutoField(primary_key=True)
name = models.CharField(max_length=200)
slug = models.CharField(max_length=200)
term_group = models.BigIntegerField()
term_order = models.IntegerField(blank=True, null=True)
class Meta:
managed = False
db_table = 'wp_terms'
class WpTermmeta(models.Model):
meta_id = models.BigAutoField(primary_key=True)
term = models.ForeignKey(WpTerms, on_delete=models.PROTECT)
meta_key = models.CharField(max_length=255, blank=True, null=True)
meta_value = models.TextField(blank=True, null=True)
class Meta:
managed = False
db_table = 'wp_termmeta'
class WpTermTaxonomy(models.Model):
term_taxonomy_id = models.BigAutoField(primary_key=True)
term = models.ForeignKey(WpTerms, on_delete=models.PROTECT)
taxonomy = models.CharField(max_length=32)
description = models.TextField()
parent = models.BigIntegerField()
count = models.BigIntegerField()
def __str__(self):
return f"{self.taxonomy} {self.description} {self.parent}"
class Meta:
managed = False
db_table = 'wp_term_taxonomy'
# unique_together = (('term_id', 'taxonomy'),)
class WpTermRelationships(models.Model):
object_id = models.BigIntegerField()
term_taxonomy_id = models.BigIntegerField(primary_key=True)
term_order = models.IntegerField()
class Meta:
managed = False
db_table = 'wp_term_relationships'
unique_together = (('object_id', 'term_taxonomy_id'),)
class WpWcAvatarsCache(models.Model):
user_id = models.IntegerField()
user_email = models.CharField(unique=True, max_length=255)
url = models.CharField(max_length=255)
hash = models.CharField(max_length=255)
maketime = models.IntegerField()
cached = models.IntegerField()
class Meta:
managed = False
db_table = 'wp_wc_avatars_cache'
class WpWcCommentsSubscription(models.Model):
email = models.CharField(max_length=255)
subscribtion_id = models.IntegerField()
post_id = models.IntegerField()
subscribtion_type = models.CharField(max_length=255)
activation_key = models.CharField(max_length=255)
confirm = models.IntegerField(blank=True, null=True)
subscription_date = models.DateTimeField()
class Meta:
managed = False
db_table = 'wp_wc_comments_subscription'
unique_together = (('subscribtion_id', 'email'),)
class WpWcFlagged(models.Model):
comment_id = models.IntegerField(db_column='comment_ID', blank=True, null=True) # Field name made lowercase.
user_id = models.IntegerField(blank=True, null=True)
user_ip = models.CharField(max_length=50, blank=True, null=True)
user_hash = models.CharField(max_length=50, blank=True, null=True)
class Meta:
managed = False
db_table = 'wp_wc_flagged'
class WpWcPhrases(models.Model):
phrase_key = models.CharField(max_length=255)
phrase_value = models.TextField()
class Meta:
managed = False
db_table = 'wp_wc_phrases'
class WpWcUsersVoted(models.Model):
user_id = models.CharField(max_length=255)
comment_id = models.IntegerField()
vote_type = models.IntegerField(blank=True, null=True)
is_guest = models.IntegerField(blank=True, null=True)
class Meta:
managed = False
db_table = 'wp_wc_users_voted'
class WpWeformsEntries(models.Model):
id = models.BigAutoField(primary_key=True)
form_id = models.BigIntegerField(blank=True, null=True)
user_id = models.BigIntegerField(blank=True, null=True)
user_ip = models.PositiveIntegerField(blank=True, null=True)
user_device = models.CharField(max_length=50, blank=True, null=True)
referer = models.CharField(max_length=255, blank=True, null=True)
status = models.CharField(max_length=10, blank=True, null=True)
created_at = models.DateTimeField(blank=True, null=True)
class Meta:
managed = False
db_table = 'wp_weforms_entries'
class WpWeformsEntrymeta(models.Model):
meta_id = models.BigAutoField(primary_key=True)
weforms_entry_id = models.BigIntegerField(blank=True, null=True)
meta_key = models.CharField(max_length=255, blank=True, null=True)
meta_value = models.TextField(blank=True, null=True)
class Meta:
managed = False
db_table = 'wp_weforms_entrymeta'
class WpWpufSubscribers(models.Model):
user_id = models.IntegerField()
name = models.CharField(max_length=191)
subscribtion_id = models.CharField(max_length=191)
subscribtion_status = models.CharField(max_length=191)
gateway = models.CharField(max_length=191)
transaction_id = models.CharField(max_length=191)
starts_from = models.CharField(max_length=191)
expire = models.CharField(max_length=191)
class Meta:
managed = False
db_table = 'wp_wpuf_subscribers'
class WpWpufTransaction(models.Model):
user_id = models.BigIntegerField(blank=True, null=True)
status = models.CharField(max_length=60)
cost = models.CharField(max_length=255, blank=True, null=True)
post_id = models.CharField(max_length=20, blank=True, null=True)
pack_id = models.BigIntegerField(blank=True, null=True)
payer_first_name = models.CharField(max_length=60, blank=True, null=True)
payer_last_name = models.CharField(max_length=60, blank=True, null=True)
payer_email = models.CharField(max_length=100, blank=True, null=True)
payment_type = models.CharField(max_length=20, blank=True, null=True)
payer_address = models.TextField(blank=True, null=True)
transaction_id = models.CharField(max_length=60, blank=True, null=True)
created = models.DateTimeField()
class Meta:
managed = False
db_table = 'wp_wpuf_transaction'
class WpOptions(models.Model):
option_id = models.BigAutoField(primary_key=True)
option_name = models.CharField(unique=True, max_length=191)
option_value = models.TextField()
autoload = models.CharField(max_length=20)
class Meta:
managed = False
db_table = 'wp_options'
class WpLinks(models.Model):
link_id = models.BigAutoField(primary_key=True)
link_url = models.CharField(max_length=255)
link_name = models.CharField(max_length=255)
link_image = models.CharField(max_length=255)
link_target = models.CharField(max_length=25)
link_description = models.CharField(max_length=255)
link_visible = models.CharField(max_length=20)
link_owner = models.BigIntegerField()
link_rating = models.IntegerField()
link_updated = models.DateTimeField()
link_rel = models.CharField(max_length=255)
link_notes = models.TextField()
link_rss = models.CharField(max_length=255)
class Meta:
managed = False
db_table = 'wp_links'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment