Odoo 19.0 Community · Persistent

slide.channel: fields, relations and API

The slide.channel model ("Course") is a persistent model declared by the eLearning module, then extended by 5 other modules. It exposes 123 fields, 73 of them declared directly on the model; 11 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.

Model identity

Technical name
slide.channel
Label
Course
Type
Persistent (models.Model)
SQL table
slide_channel
Origin module
eLearning (website_slides)
Extended by
hr_skills_slides, mass_mailing_slides, website_sale_slides, website_slides_forum, website_slides_survey
Default order (_order)
sequence, id
Inherits from (mixins)
rating.mixinmail.activity.mixinimage.mixinwebsite.cover_properties.mixinwebsite.seo.metadatawebsite.published.multi.mixinwebsite.searchable.mixin

Model fields

73 own fields, 44 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.

123 of 123 fields shown

Technical nameLabelTypeDetails
access_tokenSecurity Tokenchar
activeActiveboolean
allow_commentAllow rating on Course

Allow Attendees to like and comment your content and to submit reviews on your course.

boolean
computed, stored
can_commentCan Commentboolean
computed
can_reviewCan Reviewboolean
computed
can_uploadCan Uploadboolean
computed
can_voteCan Voteboolean
computed
channel_partner_all_idsAll Attendees Informationone2many

inverse: channel_id

channel_partner_idsEnrolled Attendees Informationone2many

inverse: channel_id

channel_typeCourse type

Defines the course type (e.g., "Training" for interactive learning, or "Documentation" for resources and guides).

selection
required

Values: training (Training), documentation (Documentation)

colorColor Index

Used to decorate kanban view

integer
completedDoneboolean
computed
completed_template_idCompletion Notification

Defines the email your Attendees will receive once they reach the end of your course.

many2one
completionCompletioninteger
computed
currency_idCurrencymany2one

related: product_id.currency_id

added by Sell Courses (website_sale_slides)

descriptionDescription

The description that is displayed on top of the course page, just below the title

html
translatable
description_htmlDetailed Descriptionhtml
description_shortShort Description

The description that is displayed on the course card

html
translatable
enrollEnroll Policy

Defines how people can enroll to your Course.

selection
requiredcomputed, stored

Values: public (Open), invite (On Invitation)

enroll_group_idsAuto Enroll Groups

Members of those groups are automatically added as members of the channel.

many2many
enroll_msgEnroll Message

Message explaining the enroll process

html
forum_idCourse Forummany2one

added by Forum on Courses (website_slides_forum)

forum_total_postsNumber of active forum postsinteger

related: forum_id.total_posts

added by Forum on Courses (website_slides_forum)

has_requested_accessAccess Requestedboolean
computed
is_memberIs Enrolled Attendee

Is the attendee actively enrolled.

boolean
computed
is_member_invitedIs Invited Attendee

Is the invitation for this attendee pending.

boolean
computed
is_visibleIs Visible On Websiteboolean
computed
karma_gen_channel_finishCourse finishedinteger
karma_gen_channel_rankCourse rankedinteger
karma_reviewAdd Review

Karma needed to add a review on the course

integer
karma_slide_commentAdd Comment

Karma needed to add a comment on a slide of this course

integer
karma_slide_voteVote

Karma needed to like/dislike a slide of this course.

integer
members_all_count# Enrolled or Invited Attendeesinteger
computed
members_certified_count# Certified Attendeesinteger
computed

added by Course Certifications (website_slides_survey)

members_completed_count# Completed Attendeesinteger
computed
members_count# Enrolled Attendeesinteger
computed
members_engaged_count# Active Attendees

Active attendees include both 'joined' and 'ongoing' attendees.

integer
computed
members_invited_count# Invited Attendeesinteger
computed
nameNamechar
requiredtranslatable
nbr_articleArticlesinteger
computed, stored
nbr_certificationNumber of Certificationsinteger
computed, stored

added by Course Certifications (website_slides_survey)

nbr_documentDocumentsinteger
computed, stored
nbr_infographicInfographicsinteger
computed, stored
nbr_quizNumber of Quizsinteger
computed, stored
nbr_videoVideosinteger
computed, stored
partner_has_new_contentPartner Has New Contentboolean
computed
partner_idsAttendees

Enrolled partners in the course

many2many
computed
prerequisite_channel_idsPrerequisites

Prerequisite courses to complete before accessing this one.

many2many
prerequisite_of_channel_idsPrerequisite Of

Courses that have this course as prerequisite.

many2many
prerequisite_user_has_completedHas Completed Prerequisiteboolean
computed
product_idProductmany2one

added by Sell Courses (website_sale_slides)

product_sale_revenuesTotal revenuesmonetary
computed

added by Sell Courses (website_sale_slides)

promote_strategyFeatured Content

Defines the content that will be promoted on the course home page

selection

Values: latest (Latest Created), most_voted (Most Voted), most_viewed (Most Viewed), specific (Select Manually), none (None)

promoted_slide_idPromoted Slidemany2one
publish_template_idNew Content Notification

Defines the email your Attendees will receive each time you upload new content.

many2one
rating_avg_starsRating Average (Stars)float
computed
sequenceSequenceinteger
share_channel_template_idChannel Share Template

Email template used when sharing a channel

many2one
share_slide_template_idShare Template

Email template used when sharing a slide

many2one
slide_category_idsCategoriesone2many
computed
slide_content_idsContentone2many
computed
slide_idsSlides and categoriesone2many

inverse: channel_id

slide_last_updateLast Updatedate
computed, stored
slide_partner_idsSlide User Dataone2many

inverse: channel_id

tag_idsTags

Used to categorize and filter displayed channels/courses

many2many
total_slidesNumber of Contentsinteger
computed, stored
total_timeDurationfloat
computed, stored
total_viewsVisitsinteger
computed, stored
total_votesVotesinteger
computed, stored
upload_group_idsUpload Groups

Group of users allowed to publish contents on a documentation course.

many2many
user_idResponsiblemany2one
visibilityShow Course To

Defines who can access your courses and their content.

selection
required

Values: public (Everyone), connected (Signed In), members (Course Attendees), link (Anyone with the link)

website_default_background_image_urlBackground image URLchar
computed
activity_calendar_event_idNext Activity Calendar Eventmany2one
computed

inherited from mail.activity.mixin

activity_date_deadlineNext Activity Deadlinedate
read-onlycomputed

inherited from mail.activity.mixin

activity_exception_decorationActivity Exception Decoration

Type of the exception activity on record.

selection
computed

Values: warning (Alert), danger (Error)

inherited from mail.activity.mixin

activity_exception_iconIcon

Icon to indicate an exception activity.

char
computed

inherited from mail.activity.mixin

activity_idsActivitiesone2many

inverse: res_id

inherited from mail.activity.mixin

activity_stateActivity State

Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities.

selection
computed

Values: overdue (Overdue), today (Today), planned (Planned)

inherited from mail.activity.mixin

activity_summaryNext Activity Summarychar

related: activity_ids.summary

inherited from mail.activity.mixin

activity_type_iconActivity Type Iconchar

related: activity_ids.icon

inherited from mail.activity.mixin

activity_type_idNext Activity Typemany2one

related: activity_ids.activity_type_id

inherited from mail.activity.mixin

activity_user_idResponsible Usermany2one
read-onlycomputed

inherited from mail.activity.mixin

cover_propertiesCover Propertiestext

inherited from website.cover_properties.mixin

has_messageHas Messageboolean
computed

inherited from mail.thread

image_1024Image 1024image

related: image_1920

inherited from image.mixin

image_128Image 128image

related: image_1920

inherited from image.mixin

image_1920Imageimage

inherited from image.mixin

image_256Image 256image

related: image_1920

inherited from image.mixin

image_512Image 512image

related: image_1920

inherited from image.mixin

is_seo_optimizedSEO optimizedboolean
computed, stored

inherited from website.seo.metadata

message_attachment_countAttachment Countinteger
computed

inherited from mail.thread

message_follower_idsFollowersone2many

inverse: res_id

inherited from mail.thread

message_has_errorMessage Delivery error

If checked, some messages have a delivery error.

boolean
computed

inherited from mail.thread

message_has_error_counterNumber of errors

Number of messages with delivery error

integer
computed

inherited from mail.thread

message_has_sms_errorSMS Delivery error

If checked, some messages have a delivery error.

boolean
computed

inherited from mail.thread

message_idsMessagesone2many

inverse: res_id

inherited from mail.thread

message_is_followerIs Followerboolean
computed

inherited from mail.thread

message_needactionAction Needed

If checked, new messages require your attention.

boolean
computed

inherited from mail.thread

message_needaction_counterNumber of Actions

Number of messages requiring action

integer
computed

inherited from mail.thread

message_partner_idsFollowers (Partners)many2many
computed

inherited from mail.thread

my_activity_date_deadlineMy Activity Deadlinedate
read-onlycomputed

inherited from mail.activity.mixin

rating_avgAverage Ratingfloat
computed

inherited from rating.mixin

rating_avg_textRating Avg Textselection
computed

Values: top (Happy), ok (Neutral), ko (Unhappy), none (Not Rated yet)

inherited from rating.mixin

rating_countRating countinteger
computed

inherited from rating.mixin

rating_idsRatingsone2many

inverse: res_id

inherited from mail.thread

rating_last_feedbackRating Last Feedbacktext

related: rating_ids.feedback

inherited from rating.mixin

rating_last_imageRating Last Imagebinary

related: rating_ids.rating_image

inherited from rating.mixin

rating_last_textRating Textselection

related: rating_ids.rating_text

inherited from rating.mixin

rating_last_valueRating Last Valuefloat
computed, stored

inherited from rating.mixin

rating_percentage_satisfactionRating Satisfactionfloat
computed

inherited from rating.mixin

seo_nameSeo namechar
translatable

inherited from website.seo.metadata

website_message_idsWebsite Messages

Website communication history

one2many

inverse: res_id

inherited from mail.thread

website_meta_descriptionWebsite meta descriptiontext
translatable

inherited from website.seo.metadata

website_meta_keywordsWebsite meta keywordschar
translatable

inherited from website.seo.metadata

website_meta_og_imgWebsite opengraph imagechar

inherited from website.seo.metadata

website_meta_titleWebsite meta titlechar
translatable

inherited from website.seo.metadata

create_dateCreated ondatetime
read-onlyautomatic
create_uidCreated bymany2one
read-onlyautomatic
display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic
write_dateLast Updated ondatetime
read-onlyautomatic
write_uidLast Updated bymany2one
read-onlyautomatic

Relations

Models linked from this model

Fields of other models pointing here

Reading this model through the API

Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.

curl
curl -X POST "https://your-instance.odoo.com/json/2/slide.channel/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","channel_type","enroll","visibility","completed_template_id"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}

res = requests.post(
    f"{BASE_URL}/slide.channel/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","channel_type","enroll","visibility","completed_template_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • External API access requires Odoo's Custom plan.
  • XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
  • The access rights and record rules of the key's user apply.

Cite this tool

Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.

<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/slide-channel">slide.channel (Odoo 19.0)</a>

Sources

Data verified on September 23, 2026 · Odoo 19.0 Community

Have an Odoo project, or want to put your ERP to work with AI? Let's talk

Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.